java - Android Studio:OnClickListener 灰显,无法实现
问题描述
第一次,很久了。我已经尝试了所有让 OnClickListener 适配器工作的方法,每次我尝试实现它时,它都会使用下面的方法变灰。它已经发生在多个不同的项目中。
'
btn_add.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
}
});
'
显然,当我运行代码时,它会给出一个空指针异常。
使用我在一个侦听器下面包含的代码,AddListener 有效,而 ViewAllListener 无效。我再次得到 ViewAllListener 的空指针异常。我跟随教程并遇到了同样的问题。我的解决方法是使用与我在下面提交的代码类似的代码。它为那个项目修复了它,但现在我在一个完全不同的项目中拥有它。除了这一次它只与一个听众而不是另一个听众。我难住了。对于另一个项目,我尝试了在扩展 AppCompatActivity 之后附加的“实现 View.OnClickListener”。我仍然遇到了同样的问题,OnClickListner 变灰并在运行时抛出 nullpointerexception。任何帮助将不胜感激。
`
import androidx.appcompat.app.AppCompatActivity;
import android.view.View.OnClickListener;
public class MainActivity extends AppCompatActivity {
Button btn_add_horse_ll, btn_viewAll_LL;
private final OnClickListener AddListener = new OnClickListener() {
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Success " + success, Toast.LENGTH_SHORT).show();
}
};
private final OnClickListener ViewAllListener = new OnClickListener() {
@Override
public void onClick(View v) {
DatabaseHelper dataBaseHelper = new DatabaseHelper(MainActivity.this);
ShowHorsesOnListView(dataBaseHelper);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_add_horse_ll = findViewById(R.id.btn_add_horse_ll);
btn_viewAll_LL = findViewById(R.id.btn_viewAll_LL);
btn_add_horse_ll.setOnClickListener(AddListener);
btn_viewAll_LL.setOnClickListener(ViewAllListener);
}
public OnClickListener getAddListener() {
return AddListener;
}
public OnClickListener getViewAllListener(){
return ViewAllListener;
}
`
这是xml:
`
<LinearLayout>
<Button android:id="@+id/btn_add_horse_ll"/>
</LinearLayout>
<LinearLayout>
<Button android:id="@+id/btn_viewAll_LL"/>
</LinearLayout>
`
我不知道还能说什么或要问什么其他问题,但它一直告诉我我有太多代码。我尝试从一个新程序重新开始,但最终还是遇到了同样的问题。
解决方案
btn_add.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
}
});
你btn_add
在你的代码中定义了什么?这就是导致错误的原因
推荐阅读
- excel - 比较午夜前后在 vba Excel 上的 2 小时
- sql-server - 哪个事务级别最适合从应用程序事件日志表中读取记录?
- php - laravel:在一个页面中显示基于 id 的特定帖子和精选帖子
- javascript - 当标题中包含“&”时,电子邮件标题无法正确显示,如何在 JavaScript 中修复?
- excel - VBA:比较两个范围的更快方法?
- javascript - 如何使用 Cocoon 以嵌套形式定位单个新输入项
- python - 我如何循环几何序列。我需要在 1、2、4、8、16 上循环一些函数
- ajax - CakePHP 3:与“onclick 确认”相关的 ajax 请求中的“中断”
- java - 并行布尔值和字符串
- python - 如何在 nifi executescript 处理器中获取测试文件以输出流流文件