2016-10-12 9 views

答えて

1

あなたが更新できる方法をrunOnUiThread使用して、この1 arnab ...

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final TextView textView = (TextView) findViewById(R.id.displayid); 
    handler = new Handler() { 
     @Override 
     public void handleMessage(Message msg) { 
      bundle = msg.getData(); 
      textView.setText(bundle.getString("mKey")); 
     } 
    }; 

} 
public void press(View v) { 
    new Thread(new Runnable() { 
     @Override 
     public void run() { 
      while (true) { 
       synchronized (this) { 
        try { 
         wait(1000); 
        } catch (InterruptedException e) { 
         e.printStackTrace(); 
        } 
        bundle = new Bundle(); 
        message = handler.obtainMessage(); 
        simpleDateFormat = new SimpleDateFormat("hh:mm:ss YYYY/mm/dd", Locale.US); 
        date = simpleDateFormat.format(new Date()); 
        bundle.putString("mKey", date); 
        message.setData(bundle); 
        handler.sendMessage(message); 
       } 
      } 

     } 
    }).start(); 
} 
0

試してみてください。.. runOnUiThread whileループ無期限に実行aは1秒間睡眠のためのスレッドを左:

runOnUiThread(new Runnable() { 

    @Override 
    public void run() { 
     textView.setText(updateTime); 
    } 
}); 
1

使用runOnUiThreadとのThread.sleepのためのトライキャッチ(1000)

int i; 
    while(true) 
    { 
     try { 
      Thread.sleep(1000); 
      runOnUiThread(new Runnable() { 

       @Override 
       public void run() { 
        // TODO Auto-generated method stub 
        textView.setText(updateTime); 
       } 
      }); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 
で囲みます
関連する問題