java - 单击按钮后应用程序关闭而不是返回到主要 Activity

标签 java android

我正在使用 startActivityForResult() [在 MainActivity 类中] 调用另一个名为“EditActivity”的 Activity ,并将一些编辑后的值返回到 MainActivity。 EditActivity 有一个按钮,按下该按钮后用户将返回到 MainActivity。但相反,该应用程序在按下按钮时关闭。 MainActivity 内部:

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent intent = new Intent();
            intent.setClass(MainActivity.this, EditActivity.class);
            intent.putExtra("edit_data", arrayList.get(position).toString());
            intent.putExtra("edit_position", position);
            startActivityForResult(intent, IntentValuesClass.REQUEST_CODE);
        }


    });

编辑 Activity 内部:

   saveButton.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    Intent data=new Intent();
                    data.putExtra("edited_text",editInput);
                    data.putExtra("position",pos);
                    setResult(EditActivity.RESULT_OK,data);
                    Log.w(IntentValuesClass.Msg,"Button SAVE Clicked");
                    finish();
                    Log.w(IntentValuesClass.Msg,"finished");
                }
            }
    );

再次返回 MainActivity:

 @Override
    protected void onActivityResult( int requestCode, int resultCode, Intent data){
       Log.w(IntentValuesClass.Msg,"Inside onActivityResult");
        int position;
        if (requestCode == IntentValuesClass.REQUEST_CODE) {
            if (resultCode==EditActivity.RESULT_OK) {
                Log.w(IntentValuesClass.Msg,"Result ok");
                String s = data.getStringExtra("edited_text");
                position = data.getIntExtra("position",-1);
                arrayList.remove(position);
                arrayList.add(position, s);
                adapter.notifyDataSetChanged();


            }
        }
    }

最佳答案

finish() 放在方法的末尾。

public void onClick(View v) {
    Intent data=new Intent();
    data.putExtra("edited_text",editInput);
    data.putExtra("position",pos);
    setResult(EditActivity.RESULT_OK,data);
    Log.w(IntentValuesClass.Msg,"Button SAVE Clicked");
    Log.w(IntentValuesClass.Msg,"finished");
    finish();
}

关于java - 单击按钮后应用程序关闭而不是返回到主要 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45650651/

相关文章:

java - 安卓语音合成 : Speaking Long text

java - 从纸牌游戏中的玩家数组列表中检查获胜者

java - 获取组成数字的二进制数列表

c# - Xamarin,Android-MySQL 连接错误

android - 为什么 twitter 无法读取我在外部缓存目录中的文件?

javax.net.ssl.SSLPeerUnverifiedException : No peer certificate when downloading website content android

java - 检查两个 true 或两个 false

java - 违反 Google 政策通过 PayPal 按钮捐款?

Java - 将图像转换为 Base64

java - 为什么从Fragment跳转到新的Activity时overridePendingTransition不生效?