我有2节课。在ConnectThread结束时,我想打开一个新活动。这个代码我在StackOverflow上找到但它确实有效。谁能告诉我如何解决这个问题。
public class MainActivity extends Activity {
// some code
}
class ConnectThread extends Thread {
Handler handler = new Handler(Looper.getMainLooper());
public ConnectThread(BluetoothDevice device) {
// some code
}
public void run() {
// some code
handler.post(new Runnable() {
@Override
public void run() {
Intent startPostGet = new Intent(MainActivity.this, PostGetActivity.class);
startActivity(startPostGet);
}
});
}
}
答案 0 :(得分:0)
我认为(因为您没有告诉我们您的错误)您的问题是Context
。 startActivity
是[{1}}的一种方法,但在您致电Context
的情况下,范围在startActivity
或Runnable
范围内,但没有方法{{1} }}。如果我是对的,那么将ConnectThread
传递给您的主题并使用startActivity
。
如果那不是问题,请告诉我你得到的错误,我相信我可以提供帮助。
根据上下文(如果它不是Context
上下文,您可能需要使用FLAG_ACTIVITY_NEW_TASK
。
答案 1 :(得分:0)
class ConnectThread extends Thread {
Handler handler = new Handler(Looper.getMainLooper());
Context context;
public ConnectThread(Context context, BluetoothDevice device) {
this.context = context;
// some code
}
public void run() {
// some code
handler.post(new Runnable() {
@Override
public void run() {
Intent startPostGet = new Intent(context, PostGetActivity.class);
context.startActivity(startPostGet);
}
});
}
}