发送这是在研究背景运行数据活动这是、背景、数据

2023-09-12 05:26:46 作者:8.时光薄凉

有活动之间传递数据的麻烦 ListActivity正在收集数据,并且在后退按钮pressed返回MainActivity,然后想通过onResume方法的数据,但我不明白什么

这怎么解决?

ListActivity.java

  @覆盖
公共无效结束(){
    I =新的意图(ArrayListActivity.this,MainActivity.class);
    i.putParcelableArrayListExtra(Constants.TAG_SELECTED_PRODUCT_LIST,selected_list);
    super.finish();
}
 

MainActivity.java

  @覆盖
保护无效onResume(){
    super.onResume();

    捆绑额外= getIntent()getExtras()的getBundle(Constants.TAG_SELECTED_PRODUCT_LIST)。
    如果(临时演员!= NULL){
        selected_list = extras.getParcelableArrayList(Constants.TAG_SELECTED_PRODUCT_LIST);


        myListView.setAdapter(新ProductAdapter(MainActivity.this,
                    R.layout.array_lisviewt_item_row,selected_list));
    }
}
 

解决方案 辅助产品裂变的数据运营要知道的海量数据从这里来

您可能想从第一个通过启动第二个活动的 startActivityForResult(...) 的方法。

这个方法可以让你从一个启动的活动运送结果返回给它的发射活动。

从文档:

  

启动,你会为它像一个结果,当它完成了一个活动。   在本次活动退出,你的 onActivityResult()方法将   所谓给定的要求code。使用负请求code是   与调用startActivity(意向)(该活动不会推出,   一个子活动)。

Having trouble passing data between activities ListActivity is collecting data and when back button is pressed returns to MainActivity and then want to get that data via onResume method but i dont get anything

How can this problem be solved?

ListActivity.java

    @Override
public void finish() {
    i = new Intent(ArrayListActivity.this, MainActivity.class);
    i.putParcelableArrayListExtra(Constants.TAG_SELECTED_PRODUCT_LIST, selected_list);
    super.finish();
}

MainActivity.java

    @Override
protected void onResume() {
    super.onResume();

    Bundle extras = getIntent().getExtras().getBundle(Constants.TAG_SELECTED_PRODUCT_LIST);
    if(extras != null) {
        selected_list = extras.getParcelableArrayList(Constants.TAG_SELECTED_PRODUCT_LIST);


        myListView.setAdapter(new ProductAdapter(MainActivity.this,
                    R.layout.array_lisviewt_item_row, selected_list));
    }
}

解决方案

You probably want to start your second activity from the first one via the startActivityForResult(...) method.

This method allows you to transport results from a launched activity back to it's launching activity.

From the documentation:

Launch an activity for which you would like a result when it finished. When this activity exits, your onActivityResult() method will be called with the given requestCode. Using a negative requestCode is the same as calling startActivity(Intent) (the activity is not launched as a sub-activity).