当前位置: 首页 > 知识库问答 >
问题:

在位于两个不同布局的按钮上设置2个onClickListener()时导致异常

戎桐
2023-03-14

我有一个问题,我似乎不能为位于两个不同布局的两个独立按钮设置两个onClickListener,当运行程序时,它会导致异常发生。

btnClickToSecondPage按钮位于activity_main.xml布局中,btnObjClickToGoToFirstPage按钮位于second_activity.xml布局中。

public class MainActivity extends Activity {

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

    requestWindowFeature(getWindow().FEATURE_NO_TITLE);

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.activity_main);

    Button btnObjClickToGoToSecondPage = (Button) findViewById(R.id.btnClickToSecondPage);
    Button btnObjClickToGoToFirstPage = (Button) findViewById(R.id.btnChangetoFirstPage);


    btnObjClickToGoToFirstPage.setOnClickListener(
         new Button.OnClickListener(){
             @Override
             public void onClick (View v)
             {
                 setContentView(R.layout.second_activity);
             }
         }
    );
    btnObjClickToGoToSecondPage.setOnClickListener(
            new Button.OnClickListener(){
                @Override
                public void onClick (View v)
                {
                    setContentView(R.layout.activity_main);
                }
          }
    );
} }

共有1个答案

邵子平
2023-03-14

请实现视图。onclick监听器不是按钮。onclick监听器

btnObjClickToGoToFirstPage.setOnClickListener(
         new View.OnClickListener(){
             @Override
             public void onClick (View v)
             {
                 setContentView(R.layout.second_activity);
             }
         }
    );
 类似资料:
  • 我正在使用iSpeech的API用于TTS,在他们的示例android项目中,他们有两个带有两个OnClickListener的按钮,一个用于开始演讲,一个用于停止演讲。我想把它保持在一个按钮上,以便在android屏幕上有更多的空间,这样,如果语音停止,按下按钮就会开始,如果语音开始,按下按钮就会停止。 有很多类似的问题,答案表明最好保持一个监听器一个按钮,但我不太满意,因为这个问题是在多个监听

  • 我的应用程序我正在使用一个基础活动,扩展所有活动。 提前谢了。

  • 我在 Kotlin 中有两个布局,每个布局都有一个按钮,我只想在两者之间切换。所以我在两者中都添加了一个OnClickListener 好吧,它实际上正在工作。我可以转到第二个布局并切换回第一个布局,但我无法再次打开第二个布局! 我认为在更改回主视图后必须重新定义监听器,因此我创建了两个单独的函数来设置视图。 当我试图在Java中解决同样的问题时,这种方法是有效的,但是在Kotlin中,我仍然只能

  • 我需要创建一个按钮,如下所示: HTML 如何在JS文档中指定这些函数?

  • 我花了几个小时试图找到解决我问题的办法,但似乎找不到合适的办法。提前感谢您的协助! 我有一个html表单: 我想要两个提交按钮: 我想第一个提交按钮有formindb_hoh_1.php点击时的动作和第二个提交按钮有formindb_hoh_2.php的动作但我不确定如何使一个按钮有一个动作和有另一个按钮有不同的动作。

  • 我是这方面的新手。我希望这个代码做的是:每当用户点击项目(例如:like或dislike)时,我希望我的firebase发生一些事情(例如,将like的值设置为1)。我正在努力为每个项目(喜欢,不喜欢,快乐,报告)设置一个点击监听器,但我不知道怎么做。即使我在静态类内部设置了click侦听器,也不能调用我的数据库引用。我还尝试了commentsactivity.this.mreviewsdatab