【问题标题】:Force Stop in setData Command在 setData 命令中强制停止
【发布时间】:2013-07-04 16:03:59
【问题描述】:

goto1 函数调用成功但是 android进程停止工作... 我无法获得此代码中的错误.. 但在我看来,

“data.setData”行正在产生问题.. 如果我删除此行 android.process 不会冻结.. 有谁知道这个问题的确切解决方案

public class scndactivity extends Activity {

    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.next);
        Toast t=Toast.makeText(getApplicationContext(), "On Create",Toast.LENGTH_SHORT);
        t.show();

        TextView id=(TextView) findViewById(R.id.textView1);
            id.setText("this is second activity");
    }

    public void goto1(View v)
    {
        Intent data=new Intent();
        //startActivity(new Intent("android.intent.action.MAIN"));
        finish();
        //setContentView(R.layout.activity_main);
        EditText editText1=(EditText) findViewById(R.id.editText1);
        data.setData(Uri.parse(editText1.getText().toString()));
        setResult(RESULT_OK, data);

        Toast.makeText(getApplicationContext(), "hi ",Toast.LENGTH_SHORT).show();
    }
}

【问题讨论】:

  • goto1 的目的是什么? Uri.parse(...) 也可能会抛出异常,具体取决于 editText1 中的内容...
  • 我冒昧地修复了您的缩进(StackOverflow 使用 4 列选项卡)。此外,将类名大写是一种很好的 Java 风格,例如ScndActivity
  • “冻结”是什么意思?整个设备冻结?您收到“应用程序无响应”(ANR) 错误? logcat中有什么东西吗? editText1 的上下文是什么?猜测一下,我会说在没有 finish() 调用的情况下尝试一下。但最重要的是,向我们展示 logcat 输出。
  • goto1 函数在按钮的操作上被调用
  • 冻结意味着应用程序停止响应..我必须强制停止该应用程序

标签: android android-intent forceclose


【解决方案1】:

我很确定您应该在调用finish 之前调用setResult,并确保editText1 中的文本是有效的Uri 格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    相关资源
    最近更新 更多