मैं इस कार्य के लिए लेकिन handleMessage साथ
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.widget.EditText;
import android.widget.TextView;
public class l15_threadOneaacto extends Activity {
/** Called when the activity is first created. */
TextView tv[]=new TextView[4];
EditText et;
Thread bcko;
static int index=0;
boolean isRunning=false;
boolean acceptevent=false;
Handler hn=new Handler(){
@Override
public void handleMessage(android.os.Message msg) {
switch (index) {
case 0: tv[0].setBackgroundColor(Color.BLUE); break;
case 1: tv[0].setBackgroundColor(Color.WHITE); break;
case 2: tv[1].setBackgroundColor(Color.BLUE); break;
case 3: tv[1].setBackgroundColor(Color.WHITE); break;
case 4: tv[2].setBackgroundColor(Color.BLUE); break;
case 5: tv[2].setBackgroundColor(Color.WHITE); break;
case 6: tv[3].setBackgroundColor(Color.BLUE); break;
case 7: tv[3].setBackgroundColor(Color.WHITE); break;
}
index++;
if(index==8){
acceptevent=true;
et=(EditText)findViewById(R.id.bbb);
et.setText("ready for input");
}
};
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv[0]=(TextView)findViewById(R.id.tx1);
tv[1]=(TextView)findViewById(R.id.tx2);
tv[2]=(TextView)findViewById(R.id.tx3);
tv[3]=(TextView)findViewById(R.id.tx4);
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
bcko=new Thread (new Runnable() {
@Override
public void run() {
try {
//
for(int i=0;i<8 && isRunning;i++){
Thread.sleep(2000);
hn.sendMessage(hn.obtainMessage());
}
} catch (Exception e) {
// TODO: handle exception
}
}
});
isRunning=true;
bcko.start();
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
isRunning=false;
}
}
kayout धागा द्वारा एक नमूना है:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/tx1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFFFF"
android:text=""
/>
<TextView
android:id="@+id/tx2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFFFF"
android:text=""
/>
<TextView
android:id="@+id/tx3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFFFF"
android:text=""
/>
<TextView
android:id="@+id/tx4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFFFFFFF"
android:text=""
/>
<EditText
android:id="@+id/bbb"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="not ready "
/>
</LinearLayout>
गुड लक,
स्रोत
2010-12-04 22:13:12
हां, हैकबोड, मुझे आपकी विधि पसंद है क्योंकि इसकी संक्षिप्त और गतिविधि में एक धागा है जिसका मैं उपयोग कर सकता हूं। मैं हैंडलर.postDelayed विधि का उपयोग कर रहा हूँ और पहली बार काम करता है। मुझे समझने की जरूरत है कि आप संदेश कैसे भेजते हैं और फिर उस थ्रेड को कॉल करने के लिए संदेश प्राप्त करते हैं? जैसा कि आप देख सकते हैं मैं काफी नया हूँ! – SingleMalt