我有一个 listData 用于创建 listview 。单击按钮后,我将一次更新特定项目的 listview 数据。每次更新后我都将其存储在数组 updatedlistData 中。所以现在我想比较以前的数组数据,即 listData 和 updatedlistData 以及我想显示错误的项目上的值没有更新。请更新值。那么我可以在 ListView 的项目上设置错误吗?我尝试使用此代码:
BaseAdapter 代码创建 Listview
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater();
View row;
row = inflater.inflate(android.R.layout.simple_list_item_1, parent, false);
TextView value;
value = (TextView) row.findViewById(android.R.id.text1);
value.setText(Value[position]);
return (row);
}
OnClick我正在比较
check = (Button)findViewById(R.id.checkData);
check.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
for(int i=0;i< listData.length;i++){
for(int j=0;j<updatedlistData;j++){
if(listData[i]==updatedlistData[j]){
View v=listView.getChildAt(i);
TextView tv=(TextView) v.findViewById(android.R.id.text1);
tv.setError("Please change the data");
}
}
}
});
所以我得到了例外
08-22 10:29:03.633: E/AndroidRuntime(3546): FATAL EXCEPTION: main
08-22 10:29:03.633: E/AndroidRuntime(3546): java.lang.NullPointerException
08-22 10:29:03.633: E/AndroidRuntime(3546): at com.example.activityMain.MainActivity$1.onClick(MainActivity.java:110)
08-22 10:29:03.633: E/AndroidRuntime(3546): at android.view.View.performClick(View.java:4091)
08-22 10:29:03.633: E/AndroidRuntime(3546): at android.view.View$PerformClick.run(View.java:17072)
08-22 10:29:03.633: E/AndroidRuntime(3546): at android.os.Handler.handleCallback(Handler.java:615)
08-22 10:29:03.633: E/AndroidRuntime(3546): at android.os.Handler.dispatchMessage(Handler.java:92)
08-22 10:29:03.633: E/AndroidRuntime(3546): at android.os.Looper.loop(Looper.java:153)
08-22 10:29:03.633: E/AndroidRuntime(3546): at android.app.ActivityThread.main(ActivityThread.java:4987)
08-22 10:29:03.633: E/AndroidRuntime(3546): at java.lang.reflect.Method.invokeNative(Native Method)
08-22 10:29:03.633: E/AndroidRuntime(3546): at java.lang.reflect.Method.invoke(Method.java:511)
08-22 10:29:03.633: E/AndroidRuntime(3546): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
08-22 10:29:03.633: E/AndroidRuntime(3546): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
08-22 10:29:03.633: E/AndroidRuntime(3546): at dalvik.system.NativeStart.main(Native Method)
所以请帮我解决这个问题谢谢