2017-12-21 2 views
-2

Ich möchte den Text eines Textview nach n Sekunden mit Handler ändern. Die verschiedenen Strings sind in einem Array von Strings vorhanden. (Aktualisieren einer Textansicht auf der Benutzeroberfläche)Wie Textview Text nach N Sekunden von String-Array mit Handler ändern?

Der folgende Code führt zum Absturz der App. was ist zu tun?

public class Main2Activity erweitert AppCompatActivity {

TextView textView; 
Handler handler = new Handler(); 
String[] arr = getResources().getStringArray(R.array.wat1); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main2); 

    textView = (TextView)findViewById(R.id.textView); 

    Runnable r = new Runnable() { 
     int len = arr.length; 
     @Override 
     public void run() { 
      textView.setText(arr[len-1]); 
      len--; 
      if(len!=0){ 
       handler.postDelayed(this,2000); 
      } 
     } 
    }; 
    handler.post(r); 
} 

}

+0

Teilen Sie, was genau Sie für diese –

+2

Mögliche Duplikat tun [Android - Update regelmäßig Textview] (https://stackoverflow.com/questions/26466451/android-update- Textansicht - periodisch) – R2R

Antwort

0
new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      textView.setText(yourArray[0]); //set text here 
     } 
    }, 1000); //1000 = 1 second 
0

Verwenden Sie einen Handler

Handler handler = new Handler(Looper.getMainLooper()); 
handper.postDelayed(runnable, 3000); 

Wo runnable Ihre Aktion zu ändern der Text und 3000 ist die Zeit in Millis, wo 3000 gleich 3 Sekunden ist.

0

Versuchen Sie dieses ::

 textView.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       // set text 
       textView.setText("Text"); 

      } 
     },300) // Time in millisecond 
Verwandte Themen