- Forum-Beiträge: 5
10.12.2016, 06:12:01 via Website
10.12.2016 06:12:01 via Website
Hallo,
ich habe folgendes Problem:
Ich möchte in einer App dynamisch, nach einer kurzen Wartezeit, die Width eines TextView ändern, um durch dadurch Werte anzeigen zu lassen, als Balken also.
Hier das entsprechende Programm:
public class Main extends AppCompatActivity {
private int breite;
private int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startThread();
}
private void startThread() {
Thread t = new Thread() {
public void run() {
do{
breite = 1400 - i*100;
Log.d("Tag",Integer.toString(breite));
runOnUiThread(new Runnable() {
@Override
public void run() {
//MonsterMarkerSetzen
TextView tv = (TextView) findViewById(R.id.balken);
tv.getLayoutParams().width = breite;
TextView tv_2 = (TextView) findViewById(R.id.anzeige);
tv_2.setText("i ist " + i);
}
});;
try {
Thread.sleep(3000);
} catch (Exception e) {
System.out.println(e);
}
i++;
}while(i<10);
}
};
t.start();
}
}
In dem TextView wird die Variable "i" korrekt alle drei Sekunden ausgegeben, die Width des TextView jedoch nicht geändert. Weiß jemand, woran das liegt?
Grüße,
Lothar
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.