[英]How to pass data from an activity to another activity and then to another activity on Android?
[英]Android pass multiple data from list to another activity
我有:
mListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
choosedOffer= mListTest1.get(position).toString();
return false;
}
});
和
public void onBackPressed() {
Intent intent = new Intent(ListviewActivity.this, MainActivity.class);
intent.putExtra("text",choosedOffer);
setResult(RESULT_OK, intent);
finish();
}
在一項活動中。
第二個活動包含:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if(resultCode == RESULT_OK){
String passedText=data.getStringExtra("text");
ar.add(passedText);
}
}
}
現在我需要的是:
長時間單擊mListView
項后,我想以某種方式存儲其位置,然后在單擊"Back"
按鈕后,我希望將該位置傳遞給第二個活動中的ar
數組。 它有效,但僅適用於列表中的一項。 如果我單擊另一個位置,然后單擊"Back"
按鈕,則只有最后單擊的項目位置將被傳遞到另一個活動。 我可以通過某種方式傳遞在按下"Back"
按鈕之前不僅單擊的所有項目/位置(不僅是最后一個)嗎?
您可以將long press
位置存儲到ArrayList<Integer>
。 使用i.putIntegerArrayListExtra(name, value)
傳遞給您的Intent
。 在接收Activity
使用data.getIntegerArrayListExtra(name)
獲取值。
嘗試這個:
ArrayList<String> choosedOffer = new ArrayList<String>();
mListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
choosedOffer.add(mListTest1.get(position).toString());
return false;
}
});
和
public void onBackPressed() {
Intent intent = new Intent(ListviewActivity.this, MainActivity.class);
intent.putStringArrayListExtra("text",choosedOffer);
setResult(RESULT_OK, intent);
finish();
}
第二項活動
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if(resultCode == RESULT_OK){
ArrayList<String> passedText = data.getStringArrayListExtra("text");
ar.addAll(passedText);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.