我想在android布局中实现动态添加和删除视图并在共享首选项中保存更改
一切正常但是当我点击特定视图以删除特定视图时ClickListener出现问题,它崩溃了应用程序,但是在重新启动应用程序后删除了该视图并显示了剩余的行
这是我的代码
任何帮助都会很受欢迎
public void display_contacts()
{
View.OnClickListener removeListener=new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
TextView removeNum=(TextView)paramAnonymousView.findViewById(R.id.contact_name1);
if(paramAnonymousView.getId() == R.id.viewId)
{
mSettings.Initialize(getApplicationContext());
mSettings.RemoveFromContactList(removeNum.getText().toString());
mSettings.SaveSettings();
LinearLayout displayView = (LinearLayout)mActivity.findViewById(R.id.contacts_view);
displayView.removeView(paramAnonymousView);
displayView.invalidate();
}
}
};
LinearLayout wrapper = (LinearLayout) findViewById(R.id.contacts_view);
LinearLayout inflatedView;
mSettings.Initialize(getApplicationContext());
int i=mSettings.GetContactListCount();
if(i>0) {
final String[] arrayOfStrings2 = mSettings.GetContactListNumber();
final String[] arrayOfStrings3 = mSettings.GetContactListName();
for (int j = 0; j < i; j++) {
String str = arrayOfStrings2[j];
if (arrayOfStrings3[j] != null) {
str = arrayOfStrings3[j] + "(" + arrayOfStrings2[j] + ")";
}
inflatedView = (LinearLayout) View.inflate(this, R.layout.allow_deny_row, null);
((TextView) inflatedView.findViewById(R.id.contact_name1)).setText(str);
inflatedView.setId(R.id.viewId);
wrapper.addView(inflatedView);
wrapper.invalidate();
inflatedView.setOnClickListener(removeListener);
}
}
}
视图和onClickListener上出现了问题。
提前谢谢
更新:错误日志
01-03 15:46:33.112 17483-17483/com.example.ghaznavi.contacts D/HAWAII_EGL: Set SWAP INTERVAL 0
01-03 15:46:33.112 17483-17483/com.example.ghaznavi.contacts D/HAWAII_EGL: eglCreateWindowSurface() surface: 0x4fc82108, VC surface: 1, Thread: 17483
01-03 15:46:33.112 17483-17483/com.example.ghaznavi.contacts D/HAWAII_EGL: eglMakeCurrent(0x4fc5e2c8, 0x4fc82108, 0x4fc82108) Thread: 17483
01-03 15:46:33.122 17483-17483/com.example.ghaznavi.contacts D/OpenGLRenderer: Enabling debug mode 0
01-03 15:46:52.021 17483-17483/com.example.ghaznavi.contacts D/AndroidRuntime: Shutting down VM
01-03 15:46:52.021 17483-17483/com.example.ghaznavi.contacts W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41b05960)
01-03 15:46:52.031 17483-17483/com.example.ghaznavi.contacts E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NullPointerException
at com.example.ghaznavi.contacts.Contact_main$4.onClick(Contact_main.java:132)
at android.view.View.performClick(View.java:4380)
at android.view.View$PerformClick.run(View.java:18094)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5279)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)
01-03 15:47:10.379 17483-17483/com.example.ghaznavi.contacts I/Process: Sending signal. PID: 17483 SIG: 9