单击按钮后应用程序停止工作

Posted

技术标签:

【中文标题】单击按钮后应用程序停止工作【英文标题】:App stop working after button click 【发布时间】:2017-03-25 19:31:46 【问题描述】:

所以我正在制作一个带有片段的应用程序,我想要在按钮单击时发出声音。一切正常,除非我单击应用程序停止工作的按钮。我在按钮上放置了一个名为 playAnother 的 onclick 方法。我认为问题可能存在于 .java 文件中: 我不知道该怎么做我完全是初学者。祝你有美好的一天!

【问题讨论】:

关于标签的说明:javascriptJava 不同 在这里贴代码而不是贴代码图片! 【参考方案1】:

playAnother(View view) 方法必须在您的 Activity 中,而不是在片段中。

如果你想处理片段中的按钮点击,你可以给你的按钮一个 id:

<Button
  android:id="@+id/button"
  .
  .

然后在你的片段onCreateView()

public View onCreateView(...) 
    // First we save the reference to the views of your fragment
    View view = inflater.inflate(R.layout.fragment_three, container, false);

    // Then we need to find the button-view
    Button button = (Button) view.findViewById(R.id.button);
    // And finally we can register OnClickListener for the button
    button.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
            // Handle your button click here
        
    );
    return view;

【讨论】:

所以我所要做的就是把从 FragmentThree.java 到 MainActivity.java 的所有东西都放在 fragment_three.xml 中? 也许这会起作用,但是有一个片段的目的是什么?处理片段中的点击会更好。遵循我在“或”字下方的建议【参考方案2】:

您的按钮的 onClick 是否已在 fragment_three.xml 布局中设置:

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

【讨论】:

***.com/questions/18711433/… 这应该可以帮助您。片段不能从布局中引用 onClick 事件

以上是关于单击按钮后应用程序停止工作的主要内容,如果未能解决你的问题,请参考以下文章

为啥当我单击提交按钮时,此 PyQt5 发票 GUI 应用程序的“Python 停止工作”? [复制]

离子应用程序在弹出框和模式关闭后冻结或停止工作

主页启动器强制停止后未收到Android AppWidget的按钮单击事件

上传数据后停止计算,直到再次点击运行

jQuery-Mobile:ajax请求在changePage失败后停止工作

如何基于按钮单击在新屏幕上打开webview中的URL