java - 多个 Activity 和按钮?

标签 java android button android-activity

我想制作按钮,单击按钮后我会转到另一个 Activity 吗? 问题是只有第一个按钮可以工作!

public class Main extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        Button PageOneButton = (Button) findViewById(R.id.btnPageOne);
        PageOneButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent myIntent = new Intent(v.getContext(), PageOne.class);
                v.getContext().startActivity(myIntent);

                Button PageTwo = (Button) findViewById(R.id.btnPageTwo);
                PageTwoButton.setOnClickListener(new View.OnClickListener() {   
                    public void onClick(View v) {
                        Intent myIntent = new Intent(v.getContext(), PageTwo.class);
                        v.getContext().startActivity(myIntent); 
                    }
                    {}
                });
            }
        });
    }
}

最佳答案

认为这是因为您的大部分代码都在第一个 onClickListener 的范围内关闭,请尝试这样的操作。

Button PageOneButton = (Button) findViewById(R.id.btnPageOne);
PageOneButton.setOnClickListener(new View.OnClickListener(){


    public void onClick(View v) {
        Intent myIntent = new Intent(Main.this, PageOne.class);
        startActivity(myIntent);

});


Button PageTwoButton = (Button) findViewById(R.id.btnPageTwo);
PageTwoButton.setOnClickListener(new View.OnClickListener(){

    public void onClick(View v) {
        Intent myIntent = new Intent(Main.this, PageTwo.class);
        startActivity(myIntent);

});

使用 v.getContext() 应该没问题,这就是我通常会做的事情,因为 Activity 本身确实是一个有效的上下文。我想它对我来说似乎更具可读性。

编辑:

只是作为对代码当前状态的澄清。仅在按下第一个按钮后,才会为第二个按钮分配 onClickListener。但由于第一个按钮将应用程序带到一个新的 Activity,本质上会破坏主 Activity,因此第二个按钮将永远没有机会到达它的 onClickListener。

希望这是有道理的,不过上面的代码应该可以解决问题。

关于java - 多个 Activity 和按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21290974/

相关文章:

javascript - 我可以在 ASP.NET 按钮上暂停回发并在完成某些任务后继续吗?

java - 如何在单个 ListView 中实现长按监听器和 onclicklistener

java - Solr:带空格和不带空格的匹配结果

java - 合并算法

android - 为什么 AOSP 添加新的 API 来支持库而不将它们添加到 SDK?

html - 在不执行提交的表单中添加常规按钮

java - 如何建立一个模型来区分关于 Apple (Inc.) 的推文和关于苹果 (fruit) 的推文?

android - 在 ANDROID 中,将使用哪个函数代替 UiApplication.getUiApplication().invokeLater(new Runnable() {})?

android - 警报对话框按钮太近

flutter - 如何在Flutter中更改大纲按钮的边框突出显示颜色?