花门楼前见秋草,岂能贫贱相看老。这篇文章主要讲述setOnClickListener导致APP崩溃相关的知识,希望能为你提供帮助。
你好我有这个非常简单的代码我试图通过android Studio运行
public class MainActivity extends ActionBarActivity {
Button random;
TextView display;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
random = (Button) findViewById(R.id.button);
display = (TextView) findViewById(R.id.TextView);
random.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
display.setText("I have changed");
}
});
我没有真正添加,但每当我使用setOnClickListener时,无论内部是什么,都会崩溃应用程序。我无法找到解决方案。
谢谢。
//编辑:对不起我添加了错误的代码,
random
是一个按钮答案它似乎不是你的情况,但我遇到了同样的问题,它是由这些线引起的
mButton = findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// ...
}
});
之前
setContentView(R.layout.activity_main);
另一答案您正在
setOnClickListener
对象上设置random
方法,您的代码目前是Null
。所以你得到一个
NullPointerException
。我认为你打算将它改为
button
。另一答案什么是“随机”?我认为正确的是:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
display.setText("I have changed");
}
});
另一答案
In your codeyou are setting click listener on a button. Please make sure you get right id and right object to set listener. The button you want to set clcik listener on should have same id to the id you defined in you activity In Activity
Button button =(Button)findViewById(R.id.button1);
In XML
<
Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
另一答案首先,按错误级别检查logcat其次,随机未初始化!!
你需要
1.在activity_main.xml中创建按钮
For example, <
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<
Button
android:id="@+id/myCoolButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<
/RelativeLayout>
2.在代码中输入该按钮
按钮myCoolButton =(Button)findViewById(R.id.myCoolButton);
3.Attach listener to button
myCoolButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
display.setText("I have changed");
}});
【setOnClickListener导致APP崩溃】它的工作原理!希望对你有所帮助
推荐阅读
- 在Android Developer Console上崩溃和ANR
- MessagingAnalytics中的Android Firebase崩溃
- react-native app在启动屏幕上崩溃
- android studio media player null对象引用
- Android AIDL(从java更改代码到kotlin之后项目崩溃)
- 单击注册会导致Android应用程序崩溃
- 你可能不知道Symfony2控制器的5种快捷方式
- 如何在Doctrine 2(独立或symfony 2和3)中轻松选择随机行
- 如何使用C#在WinForms应用程序中实现Sciter(轻量级HTML和CSS UI引擎)