【问题标题】:Application has stopped when close button clicked单击关闭按钮时应用程序已停止
【发布时间】: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


【解决方案1】:

正如您的错误日志所说,这是一个数据库异常。

发布您的MainActivity 的完整代码,以便我们了解发生了什么

【讨论】:

    猜你喜欢
    • 2013-02-20
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多