0

我正在学习如何在我的自定义适配器列表视图中使用 resultActivity 更改单个项目。它是如何工作的?

这是我在自定义适配器列表视图中 startActivityForResult 时的代码

holder.isi_layout.setOnClickListener(new android.view.View.OnClickListener(){

        public void onClick(View v) 
        {

                            Intent i = null;                                
                            i = new Intent(activity, DetailLaporanActivity.class);                              
                            Bundle b = new Bundle();
                            b.putString("position", Integer.toString(position));

                            i.putExtras(b);
                            activity.startActivityForResult(i, mRequestCode);                                  
                            activity.overridePendingTransition (R.anim.push_left_in, R.anim.push_left_out);


        }
    });                

和这个 OnResultActivity

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode==mRequestCode) {
            if(resultCode == RESULT_OK){
                String position = data.getStringExtra("position");
                String status_favorite = data.getStringExtra("status_favorite");
                String jumlah_favorite = data.getStringExtra("jumlah_favorite");
                String jumlah_komentar = data.getStringExtra("jumlah_komentar");
            }

            Toast.makeText(getApplicationContext(), "This code Success get Result", Toast.LENGTH_LONG).show();
        }
    }

当我将 OnResultActivity 放入 Adapter 时,代码错误,RESULT_OK得到通知无法解析为变量

但是如果我输入 MainActivity ,这不是错误但没有得到值结果,我检查Toast.makeText(getApplicationContext(), "This code Success get Result", Toast.LENGTH_LONG).show(); 但没有吐司,....

有人帮我吗?它是如何工作的?对不起我的英语不好...

4

2 回答 2

3

您添加了未解决的 RESULT_OK,因此您应该DetailLaporanActivity.class像这样设置它。

public class DetailLaporanActivity extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    setResult(RESULT_OK);

  }
}

而且你可以在你的onActivityResult方法中使用 RESULT_OK 。

于 2013-10-24T20:51:45.047 回答
2

那是因为 RESULT_OK 是 Activity 类的常量。因此,您需要在 Adapter 类中对其进行限定:

Activity.RESULT_OK
于 2013-10-24T21:14:47.343 回答