簡體   English   中英

如何將列表視圖項的位置傳遞給另一個列表視圖適配器並根據位置設置文本視圖的文本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM