[英]How can I make a single search for two different lists belonging to different activities in android studio?
[英]How can I share array lists between activities in android studio?
我正在嘗試構建一個 android 應用程序,但我遇到了問題。 首先,我編寫了一個方法來訪問您的手機 memory 並導入一個 excel 文件,該文件包含兩列,其值代表時間和心率。 我從 excel 讀取數據並將其存儲到數組列表中,該數組列表是DataFitbit
類型( DataFitbit
是我制作的 class 包含兩個參數,如 ZBF57C906FA7D2BB66D07372E41585D9 文件,時間和時間) 現在我想在其他活動中使用這些數據創建一個圖表,但我認為為了在這兩個活動之間共享我的 arraylist 而編寫的代碼不起作用。 我沒有任何錯誤,但是當我按下創建另一個要在其中創建圖表的活動的按鈕時,應用程序崩潰了。
這是為了在活動之間共享數組列表而編寫的代碼:
Bundle bundle = getIntent().getExtras();
ArrayList<DateFitbit> dateFitbit = (ArrayList<DateFitbit>) bundle.get("arraylist");
ListView listView = findViewById(R.id.listView);
ArrayAdapter<DateFitbit> items = new ArrayAdapter<DateFitbit>(this,android.R.layout.simple_list_item_1);
listView.setAdapter(items);
打開包含圖表的新活動的代碼是:
public void openChartActivity(){
Intent intent = new Intent(this, ChartActivity.class);
intent.putExtra("arraylist",dateFitbit);
startActivity(intent);
}
我第一次嘗試將我的數據查看到列表視圖中,以確保共享已經完成,但正如我所說,有些東西效果不佳。
你對我有什么建議嗎?
您沒有傳遞基本的String
ArrayList
,而是為 ArrayList 使用自定義數據類型ArrayList
。
為此,您需要執行此處提到的操作:
1. 現在,將其傳遞為:
Bundle bundle = new Bundle();
bundle.putSerializable("arraylist",(Serializable) dateFitbit);
intent.putExtra("Bundle",bundle);
startActivity(intent);
2.在接收活動中,獲取為:
Intent intent = getIntent();
Bundle bundle = intent.getBundleExtra("Bundle");
ArrayList<DataFitBit> dateFitbit= (ArrayList<DataFitBit>) bundle.getSerializable("arraylist");
這將保留您的自定義 ArrayList model,然后您可以根據需要使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.