如何通过点击按钮返回上一个活动?

时间:2013-02-19 20:32:47

标签: android button android-activity dialog about-box

我试图通过点击按钮从about对话框返回主活动:

public class AboutActivity extends Activity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.about);
}

@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    SharedPreferences prefs = getSharedPreferences("com.example.tiocontas",MODE_PRIVATE);
    SharedPreferences.Editor prefsEditor = prefs.edit();
    prefsEditor.putBoolean("FirstTime", false);
    finish();
    //this.onBackPressed();
}
}

我已经尝试了finish()和onBackPressed()没有结果,我做错了可能会有人给我一些提示吗?

3 个答案:

答案 0 :(得分:2)

根据我在代码中看到的内容,您的onClick()方法没有附加按钮。您可以使用xml或以编程方式执行此操作。

在xml中

<Button
...
android:onClick="functionName"/>

然后在您的代码中,定义您在xml中命名的函数

public void functionName(View v)
{
  // some code
  finish();
}

以编程方式声明您的按钮

Button aBtn = (Button) findViewById(R.id.button_id);
aBtn.setOnClickListener(new OnClickListener() {         
    @Override
    public void onClick(View v)
    {
      // some code
      AboutActivity.this.finish()
    }
});

如果您已经以某种未显示的方式将按钮附加到onClick(),那么您可能正在完成主要活动。在这种情况下,描述单击按钮并显示主要活动时会发生什么

Docs for OnClickListener()

答案 1 :(得分:1)

好像你已经完成了;你之前的活动。从您进入aboutActiivty的MainActivity中删除finish()。

答案 2 :(得分:1)

您可以在btnclick上调用onBackPressed()函数,然后可以定义以下代码 在你班上的最后:

  @Override
    public void onBackPressed() {
        super.onBackPressed();
        Intent intent = new Intent(this, YourActivity.class);
        startActivity(intent);
    }

希望这会对你有所帮助。