[英]how to pass position of listview items to another listview adapter and set text of textview according to position
我有兩個列表視圖活動。
在第一個列表視圖活動中,我有打開第二個列表視圖活動的鏈接。 在第二個列表視圖中,我有 5 行。 我想將第二個列表視圖項的位置傳遞給第一個第一個活動,並根據僅第二行的位置設置文本。
我可以使用finish()將靜態數據從第二個列表視圖活動傳遞給第一個列表視圖活動,但我不知道如何將其設置為選定行,也不知道如何傳遞第二個列表視圖的位置與完成()。
任何人都可以提供幫助,然后請編寫代碼。 為了這
我想為第一個列表視圖的第二行設置文本。也為此寫。 謝謝。
您可以利用startActivityForResult()
來啟動第二個活動。 通過調用它而不是startActivity()
您的第一個活動將在第二個活動完成時被注意到。
在您的FirstActivity
,使用以下FirstActivity
啟動第二個活動:
Intent launch2ndActivity = new Intent(this, SecondActivity.class);
startActivityForResult(launch2ndActivity, 610);
然后在你的SecondActivity
:
// Do what do you need to do here.
//I assume you would need to get the position of your ListView upon item click.
..
yourListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent resultIntent = this.getIntent();
resultIntent.putExtra("clicked_row", position);
SecondActivity.this.setResult(RESULT_OK, resultIntent);
finish();
}
});
您需要做的最后一件事是指定您的FirstActivity
在收到來自SecondActivity
的結果時應如何反應:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode) {
case 610:
if (resultCode == RESULT_OK) {
Bundle res = data.getExtras();
int clickedRow = res.getInt("clicked_row");
// Do what you want with that value..
}
break;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.