0
我有一個由3個連續的ListView組成的佈局。選擇最左側列表中的項目將啓動第二個列表,依此類推。我試圖從選中最左邊列表中的第一項開始片段,並且因爲需要很多邏輯,所以我嘗試在點擊時觸發而不是重做所有邏輯。我正在使用這個:單擊第一個項目啓動ListView
mListView.performItemClick(mListView, 0, mListView.getItemIdAtPosition(0));
是我想要的嗎?如果是的話,我在哪裏稱此?
答:
如此看來,這不是爲我工作的原因是因爲我是手動突出行視圖中的視圖,它尚未被實例化(或類似的東西)。
我用這個代碼來調用它ListView控件被解僱後指出:
mListView.post(new Runnable() {
@Override
public void run() {
mListView.performItemClick(mListView, 0, mListView.getItemIdAtPosition(0));
}
});
編輯:
我有4所列出依賴於被實例化之前,從以前的發送數據,並出於某種奇怪的原因,這種可運行的方法僅適用於第一個列表。對於其他人,我用這個答案:https://stackoverflow.com/a/15399035/1549672。另外,奇怪的是,這不適用於第一個列表。所有列表幾乎完全相同。
我不明白當前代碼的好處,就是將相同的'OnItemClickListener'附加到每個'ListView's,除非我沒有正確理解某些東西。就個人而言,爲了便於閱讀,我會考慮爲這3個列表分配不同的聽衆。基本流程不應該需要大量的邏輯。 –
每個列表都有自己的監聽器。我想要的是當第一次創建包含3個列表的片段時,我希望第一個列表中的第一個項目被點擊,這將打開其相應的第二個列表等。 – user1549672
基本上,這些列表是爲了使每個列表都是依賴的在前一個,所以我不能只是打開它們 – user1549672