有人可以告诉我这里我做错了什么吗?我为listview获取了一个空指针异常...我正在尝试使用共享首选项在我回到它时将值保存在listview中
道歉,如果它是一个愚蠢的问题,但从我的观点来看,一切都是初始化的,没有什么是空的,所以如果其他人能发现问题会很好:{)
public class MainActivity3 extends MainActivity{
EditText display;
ListView lv;
ArrayAdapter<String> adapter;
Button addButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
display = (EditText) findViewById(R.id.editText5);
lv = (ListView) findViewById(R.id.listView2);
addButton = (Button) findViewById(R.id.button21);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
lv.setAdapter(adapter);
LoadPreferences();
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (display.getText().toString().equals("")) {
}
else {
String task = display.getText().toString();
adapter.add(task);
adapter.notifyDataSetChanged();
SavePreferences("LISTS", task);
}
}
});
}
protected void SavePreferences(String key, String value) {
// TODO Auto-generated method stub
SharedPreferences data = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = data.edit();
editor.putString(key, value);
editor.commit();
}
protected void LoadPreferences(){
SharedPreferences data = PreferenceManager.getDefaultSharedPreferences(this);
String dataSet = data.getString("LISTS", "None Available");
adapter.add(dataSet);
adapter.notifyDataSetChanged();
}
}
道歉,如果它是一个愚蠢的问题,但从我的观点来看,一切都是初始化的,没有什么是空的,所以如果其他人能发现问题会很好:{)
<ListView
android:layout_width="wrap_content"
android:layout_height="359dp"
android:id="@+id/listView2"
android:layout_alignParentTop="true"
android:layout_toStartOf="@+id/button21"
android:layout_alignRight="@+id/editText6"
android:layout_alignEnd="@+id/editText6" />
答案 0 :(得分:0)
你能在这里放置你的布局代码吗?因为组件的名称不太好,所以,也许,你可以在另一个布局中调用另一个listView。
当你有android.R时,你可以尝试删除你的导入行吗?然后,导入正确的。
如果这不起作用,请填写布局代码,请:)
我正在考虑另一种解决方案。转到listView并给它这个id:
android:id="@android:id/list"
然后,转到MainActivity并写下:
public class YourClass extends ListActivity
因此,要访问listView,您只需使用下一个方法:
getListView();
如果您想了解更多信息,请参阅官方文档here
我希望它有效