【发布时间】:2018-01-21 11:45:04
【问题描述】:
我正在开发一个 android 应用程序,但我的应用程序正在停止
这是我执行的步骤:我...
1. 正在使用选项卡式活动,并且有一个列表视图
2.listView中的每个元素都注册了上下文菜单
3. 第一个选项是上下文菜单,用于编辑视图的信息
4.一旦点击,它会打开另一个活动(使用意图)
错误是当我在新活动打开时单击关闭按钮时,出现错误:“不幸的是应用程序已停止”
编辑类:
public class Editor extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_editor);
Intent intent = getIntent();
int position = intent.getIntExtra("POSITION", -1);
TextView t = (TextView)findViewById(R.id.intentResult);
t.setText(position+"");
}
}
意向调用:
public boolean onContextItemSelected(MenuItem item) {
if(item.getItemId()==EDIT_ID){
}
else if(item.getItemId()==DELETE_ID){
AdapterView.AdapterContextMenuInfo acmi = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
Intent intent = new Intent(getContext(), Editor.class);
intent.putExtra("POSITION", acmi.position);
startActivity(intent);
}
return super.onContextItemSelected(item);
}
//acmi 只是一个整数
错误:01-21 16:54:59.714 2820-2820/com.example.abu_bakr.darsjadvali E/AndroidRuntime: 致命异常: main 进程:com.example.abu_bakr.darsjadvali,PID:2820 java.lang.RuntimeException:无法恢复活动 {com.example.abu_bakr.darsjadvali/com.example.abu_bakr.darsjadvali.MainActivity}: java.lang.IllegalStateException:试图重新查询一个已经关闭的 光标 android.database.sqlite.SQLiteCursor@2e3a8e12 在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:3033) 在 android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3064) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5356) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703) 引起:java.lang.IllegalStateException:试图重新查询 已经关闭游标 android.database.sqlite.SQLiteCursor@2e3a8e12 在 android.app.Activity.performRestart(Activity.java:6076) 在 android.app.Activity.performResume(Activity.java:6099) 在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:3022) 在 android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3064) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5356) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908) 在com
.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
【问题讨论】:
-
发布错误日志和更多代码以了解场景
-
错误提示“试图重新查询一个已经关闭的游标”在哪里使用。
标签: android android-intent android-activity