我有我的MainActivity,当按下按钮时,我为SecondActivity创建一个Intent, 我想回到活动。但是当我创建intent并通过构造函数传递(this,MainActivity.class)时,我得到一个错误:意图构造函数是未定义的。有人能帮助我吗?
public void goBackToMainActivity(View view){
//Button for retrieving the user's current location:
final Button backButton = (Button) findViewById(R.id.back_button);
//Listens for button presses and releases:
backButton.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//When the button is pressed:
if(event.getAction() == MotionEvent.ACTION_DOWN) {
//Change image for touch indication:
backButton.setBackgroundResource(R.drawable.back_button);
//When the button is released:
} else if (event.getAction() == MotionEvent.ACTION_UP) {
//Change image back to default:
backButton.setBackgroundResource(R.drawable.back_button_selected);
goBackToMainActivity();
}
return false;
}
});
}
public void goBackToMainActivity() {
finish();
Intent startIntent = new Intent(this, MainActivity.class);
startActivity(startIntent);
}
答案 0 :(得分:1)
我猜你是在OnClickListener
内创建意图,因此你需要使用下面的代码:
Intent intent = new Intent(SecondActivity.this, MainActivity.class);
原因是如果你没有指定SecondActivity.this
,你实际上是将OnClickListener
传递给了意图构造函数。
答案 1 :(得分:0)
更改你的goback方法:
public void goBackToMainActivity() {
Intent startIntent = new Intent(CurrentActivityName.this, MainActivity.class);
startActivity(startIntent);
finish();
}
答案 2 :(得分:0)
首先通过编写代码清除所有现有活动:
startActivity(intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
然后将意图调用到MainActivity
Intent i=new Intent(CurrentActivity.this, MainActivity.class);
startActivity(i);
答案 3 :(得分:-1)
尝试在第二个活动中点击按钮时调用finish()以返回主活动。
public void onClick(View v) {
finish();
}