Die App ändert nicht die TextGröße trotz if/else if Abfrage.

  • Antworten:14
Daniel
  • Forum-Beiträge: 99

22.02.2014, 16:31:52 via Website

Moin,

ich run meine App und sie ändert bei Button-Druck trotzdem nicht die Textgröße!
MainActivity.java
1package com.example.damianapp;
2
3import android.os.Bundle;
4import android.app.Activity;
5import android.view.View;
6import android.widget.Button;
7import android.widget.TextView;
8
9public class MainActivity extends Activity {
10
11 @Override
12 protected void onCreate(Bundle savedInstanceState) {
13 super.onCreate(savedInstanceState);
14 setContentView(R.layout.activity_main);
15 Button button = (Button)findViewById(R.id.button1);
16 final TextView tw = (TextView)findViewById(R.id.textView1);
17 final float sechzehn = 16;
18 final float siebzig = 70;
19 tw.setTextSize(16);
20 button.setOnClickListener(new View.OnClickListener() {
21 public void onClick(View v) {
22 if(tw.getTextSize()==sechzehn)
23 {
24 tw.setTextSize(70);
25 }
26 else if(tw.getTextSize()==siebzig)
27 {
28 tw.setTextSize(16);
29 }
30 }
31 });
32 }
33
34
35
36
37}
activity_main.xml
1<RelativeLayout xmlns:android="Forum will keinen Link..."
2 xmlns:tools="Forum will keinen Link..."
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:paddingBottom="@dimen/activity_vertical_margin"
6 android:paddingLeft="@dimen/activity_horizontal_margin"
7 android:paddingRight="@dimen/activity_horizontal_margin"
8 android:paddingTop="@dimen/activity_vertical_margin"
9 tools:context=".MainActivity" >
10
11 <TextView
12 android:id="@+id/textView1"
13 android:layout_width="wrap_content"
14 android:layout_height="wrap_content"
15 android:layout_alignParentTop="true"
16 android:layout_centerHorizontal="true"
17 android:layout_marginTop="70dp"
18 android:text="@string/hello_world"
19 android:textSize="16sp" />
20
21 <Button
22 android:id="@+id/button1"
23 android:layout_width="wrap_content"
24 android:layout_height="wrap_content"
25 android:layout_below="@+id/textView1"
26 android:layout_centerHorizontal="true"
27 android:layout_marginTop="124dp"
28 android:minHeight="80dp"
29 android:minWidth="300dp"
30 android:text="@string/groeße" />
31
32</RelativeLayout>
Achso...Ja also die App läuft, aber wenn ich auf Button drücke, macht sie gar nichts.:grin:
Bitte um Hilfe. Danke.
Mfg
Daniel :V

— geändert am 22.02.2014, 16:54:37

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.02.2014, 16:33:02 via Website

Ähmmm, und was sollen wir da jetzt machen.
Kein Code kein Fehler.
Bitte genau beschreiben

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Daniel
  • Forum-Beiträge: 99

22.02.2014, 16:34:26 via Website

tut mir leid, dieses fehlerhafte post Programm in diesem Forum meinte iwas mit links für neue nicht verfügbar...... mach das jetzt nachträglich sry ^^

Antworten
SvenDD
  • Forum-Beiträge: 272

22.02.2014, 17:06:36 via Website

Wahrscheinlich tritt keiner der beiden Fälle zu, daher passiert auch nichts.

Daniel

Antworten
Daniel
  • Forum-Beiträge: 99

22.02.2014, 17:08:28 via Website

ja könnte auch sein, aber der macht ja vom objekt tw , get TextSize und kriegt als return float 16 oder 70, weil ichs ja schon vorher definiert hab. warum aber macht er nichts ?

Antworten
impjor
  • Forum-Beiträge: 1.793

22.02.2014, 17:15:55 via App

Warum so umständlich mit Variabeln die siebzehn und sechzehn heißen??

Dein Problem löst doch simples debuggen: Wird überhaupt ein if durchgeführt, wenn nicht, welche TextGröße hat das TextView sonst...

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Daniel
  • Forum-Beiträge: 99

22.02.2014, 17:20:32 via Website

selbst wenn ich direkt 16 oder 70 verwende geht's auch nicht, und ich finde beim Debugger beim Objekt tw keine TextSize variable :/

Antworten
impjor
  • Forum-Beiträge: 1.793

22.02.2014, 17:24:19 via App

Dann lerne deinen Debugger richtig einzusetzen: In eclipse könntest du z.B. unter Expressions textView.getTextSize() eintragen und so eben diese auslesen.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Daniel
  • Forum-Beiträge: 99

22.02.2014, 17:31:31 via Website

ja.
Hab Expression gefunden, man muss es bei Window nochma extra hinzufügen,
aber warum wird die TextSize nicht auf 16 gesettet, sie ist laut Expression bei 20.400002.
Warum funktioniert das nicht?

— geändert am 22.02.2014, 17:35:39

Antworten
Daniel
  • Forum-Beiträge: 99

22.02.2014, 17:44:25 via Website

Hab jetzt sogar einfach nur tw.setTextSize(16) probiert ohne iwelche Buttons und OnClick und beim Debugger steht bei Expressions nichts daneben bei tw.getTextSize()

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.02.2014, 17:45:23 via Website

Schon mal Breakpionts gesetzt und dir die Variable tw genauer angesehen?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Daniel
  • Forum-Beiträge: 99

22.02.2014, 17:53:12 via Website

klar ^^ aber bei tw gibt's keine TextSize Variable , finde alles von Color bis shadow , nur textsize nicht

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.02.2014, 17:55:45 via Website

tw muss doch eine Eigenschaft haben die mTextSize oder so heißt

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

22.02.2014, 18:38:23 via Website

16 sind auch "SP" angaben, also Scaled Pixel, ist wunderbar in den Android Docs beschrieben. Ist ähnlich wie DP nur halt für Fonts gedacht
damit der User das beliebig einstellen kann über z.b Einstellungen. Somit ist 16 nur eine relative Zahl. Da du Floats zurück bekommst wird eh schwer und du wirst runden müssen. Aber an sich macht sowas eh das Android Resource System, einfach das ganze entsprechend auslagern, selten bis jetzt gesehen das es sinn macht den User sowas einstellen zu lassen.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

impjor

Antworten
Daniel
  • Forum-Beiträge: 99

22.02.2014, 18:43:57 via Website

Und wie würde es also richtig geschrieben dann funktionieren bzw wie kriege ich das hin, dass er bei Button-Druck es größer/kleiner macht.
Als Beispiel hätte ich da z.B. Browser, wo man TextGröße auch ändert z.B. mit nem runden Regler ^^

Antworten