如何在不启动该活动的情况下从其他活动填充列表视图

时间:2019-04-23 06:38:42

标签: java android

我想将项目列表添加到我的购物车中,当用户点击购物车选项时,将从应用程序的不同活动中选择的所有那些项目都加载到购物车中。意向开始一个新的活动,我不想每次用户添加任何项目时都开始购物车活动。我使用了共享首选项,但是它一次又一次更新同一列表项,或者使应用程序崩溃。我是android新手,将不胜感激。预先感谢。

public class NewClass extends Activity {

private ListView mCompleteListView;
private List<String> mItems;
private CompleteListAdapter mListAdapter;
private String myData;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.new_class);

    SharedPreferences sharedPreferences = getSharedPreferences("MyData", 
Context.MODE_PRIVATE);
    myData = sharedPreferences.getString("SharedData", "none");

    initViews();
    addItemsToList();
    mItems = new ArrayList<String>();
    mListAdapter = new CompleteListAdapter(this, mItems);
    mCompleteListView.setAdapter(mListAdapter);
}

private void initViews() {
    mCompleteListView = (ListView) findViewById(R.id.completeList);

}

private void addItemsToList() {
    mItems.add(myData );
    mListAdapter.notifyDataSetChanged();
}
}

我只想从其他几个活动中填充购物车的列表项,而无需开始该活动。

1 个答案:

答案 0 :(得分:-1)

这不是最好的方法,请阅读有关viewmodel的信息, 对话框片段和房间。

长话短说,您想创建一个数据库来保存购物车中的数据。 (房间),那么您将可以在应用程序中的任何位置获取该信息。 要么 您可以将数据作为变量保存在视图模型中,并通过获取活动的视图模型与对话框片段(购物车)进行通信。

一切顺利:)