java - 如何解决空指针异常android问题?
问题描述
为什么我得到 java.lang.NullPointerException?
package com.example.vinhpt.listviewcoban_dulieucodinh;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
ListView lvThu;
String []arrThu;
ArrayAdapter<String>adapterThu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addEvents();
addControls();
}
private void addControls() {
arrThu = getResources().getStringArray(R.array.arrThu);
adapterThu = new ArrayAdapter<String>(
MainActivity.this,
android.R.layout.simple_list_item_1,
arrThu
);
lvThu = (ListView) findViewById(R.id.lvThu);
lvThu.setAdapter(adapterThu);
}
private void addEvents() {
lvThu.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, arrThu[position],Toast.LENGTH_LONG).show();
}
});
}
}
解决方案
您正在将事件分配给空控制器!
你应该先调用 addControllers 然后调用 addEvents
推荐阅读
- excel - vba :有什么方法可以删除行数吗?应用后删除重复项(单个/多个)
- c++ - Explorer 类型的自定义对话框在应用程序中第一次打开时最大化
- javascript - ASP.Net Core 客户端验证不起作用
- api - 空手道 API 中的授权密钥
- c# - 使用 Xceed ColorPicker 更改按钮背景颜色
- excel - 从单元格 VBA 编译错误中删除重复项
- mongoose - 根据今天日期查询猫鼬
- swift - 集合视图中有两个不同的单元格?
- azure - 使用存储帐户作为数据层的 Azure Databricks
- php - 如何从第 100 行到第 120 行搜索文件并在 PHP 中回显特定行