安卓Intent 回传数据问题

我在 listview 的item 里有个按钮 然后 在mainActivity 里点击一个按钮 用Intent跳转到 listView里 然后点 listView 每个Item 的里面一个按钮的时候 怎么 把item里的数据 回传到 mainActivity 尼 大神指点下 安卓新手

Intent intent =new Intent(PostActivity.this, ChoicePlaceActivity.class);
                startActivityForResult(intent,1);
                
        choice_place_moban.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent =new Intent();
                intent.putExtra("p_id",bean.getP_id());
               
                setResult(2,intent);//会报错
                finish();//会报错
            }
        });

choice_place_moban 是 item里的按钮的按钮对象

阅读 3.2k
3 个回答

把报错得日志贴下

下面这样写会稍微好点,本质还是一样

Intent intent =new Intent();
intent.putExtra("p_id",bean.getP_id());             
setResult(RESULT_OK,intent);
finish();

1.可以用eventbus第三方库
2.可以在点击item中的按钮时,将需要传到mainactivity中的数据,保存在sharedpreferences中,等到回到mainactivity中再从sharedpreferences取出
3.在application中定义一个全局变量进行保存,然后在mainactivuty中取出
4.直接定义一个静态变量,通过静态变量来存取
5.也可以通过回调函数存取
还有很多其他方法,但是相对会比较麻烦

除了楼上说的这几种还可以在MainActivity临时注册一个广播,在listview点击时发送该广播,同时使用intent携带上需要传输的数据

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题