2

我试图通过单击按钮从关于对话框返回到主要活动:

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() 都没有结果,我做错了什么可以给我一些提示吗?

4

3 回答 3

3

从我在您的代码中可以看到,您的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()以某种方式将按钮附加到未显示的按钮上,那么您可能正在完成主要活动。在这种情况下,请描述单击按钮并显示主活动时发生的情况

OnClickListener() 的文档

于 2013-02-19T20:58:49.353 回答
1

您可以在 btnclick 上调用 onBackPressed() 函数,然后可以在类的末尾定义以下代码:

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

希望这会帮助你。

于 2013-02-19T20:57:39.060 回答
1

好像你已经完成了;你以前的活动。从 MainActivity 中删除您的 aboutActivty 中的 finish()。

于 2013-02-19T20:36:30.713 回答