如何在活动和线程之间发送消息(如果将线程放入类中)?线程(在类中)和活动之间的Android消息传递
好,这里是一个小更详细的代码:
public class AnActivity extends Activity implements OnClickListener, Callback
{
Button b = null;
TextView t = null;
MyThread mThread = null;
public Handler mainHandler = new Handler(this);
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
b = (Button) findViewById(R.id.buttonSEND);
b.setOnClickListener(this);
mThread = new MyThread(this);
mThread.start();
}
@Override
public void onClick(View v)
{
Message m = Message.obtain();
m.what = 4;
mThread.myThreadHandler.sendMessage(m);
}
@Override
public boolean handleMessage(Message msg)
{
Toast.makeText(this, "What= " + Integer.toString(msg.what), Toast.LENGTH_SHORT).show();
return false;
}
}
下面的类是不AnActivity
public class MyThread extends Thread
{
public Handler myThreadHandler;
Activity mainActivity;
public MyThread (AnActivity anActivity)
{
this.mainActivity = anActivity;
}
@Override
public void run()
{
Looper.prepare();
myThreadHandler = new Handler()
{
// sending back a message immediately after a received one
public void handleMessage(Message msg)
{
Message m = Message.obtain();
m.what = 10;
// MY PROBLEM:
// mainActivity.mainHandler.sendMessage(m); // mainHandler is not visible
// mainActivity.sendMessage(m); // does not working
}
};
Looper.loop();
}
}
谢谢,但这是一个不同的问题。 – TTSilver