如果我在一個活動中有2個或更多的列表視圖,那麼我如何使用onclicklistener?我的意思是我怎麼知道用戶點擊哪一個?2在同一活動中的ListViews
public void onItemClick(AdapterView parent, View v, int position, long id) {
}
上面的代碼是我用過,但是當我嘗試使用其他的ListView,我無法找到一個方法來檢測單擊的是哪個列表視圖。
任何ideeas解決這個?
如果我在一個活動中有2個或更多的列表視圖,那麼我如何使用onclicklistener?我的意思是我怎麼知道用戶點擊哪一個?2在同一活動中的ListViews
public void onItemClick(AdapterView parent, View v, int position, long id) {
}
上面的代碼是我用過,但是當我嘗試使用其他的ListView,我無法找到一個方法來檢測單擊的是哪個列表視圖。
任何ideeas解決這個?
在這種情況下,parent
是itemClick源自的listView。所以你可以做的是爲每個ListView保留一個成員變量,並將父對象與這些成員進行比較,以查看哪個列表觸發了點擊。
所以這裏有一個簡單的類與我的意思:
public class MyTest extends Activity{
private ListView list1;
private ListView list2;
public void onCreate(Bundle b){
super.onCreate(b);
list1 = new ListView();
list2 = new ListView(); //or findViewById if you declared them in your layout
//the rest of your creation code here
}
public void onItemClick(AdapterView parent, View v, int position, long id) {
if(list1 == parent){
//handle list1 click
}else{
//handle list 2 click
}
}
}
你可以做到這一點,因爲這:
listView1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO: click on first listview
}
});
listView2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO: click on second listview
}
});
它很簡單, 只有一個列表可以爲下正式名單行事一個ListActivity和這個列表(只有這個列表)應該有特殊的列表id(@android:list我認爲),所以只需將其他列表的id設置爲其他id並設置其setOnItemClickListener來執行任何你想要的操作。我目前正在開發一個帶有2個listViews和一個額外列表Fragment的應用程序。
有兩種方法可以做到這一點。
實施OnItemClickListener
public class ListViewTest extends Activity implements OnItemClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public void onItemClick(AdapterView<?> arg0, View view, int arg2, long arg3) {
if(view ==myListView)1{
}
if(view ==myListView){
}
}
}
設定自己的聽衆
myListView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO: click on second listview
}
});
成員變量?我真的不明白這意味着什麼。我的列表視圖一個接一個地被刪除,而不是單獨的功能。請給我一個前例。 –
它們是否用單獨的方法聲明是無關緊要的。您只需跟蹤實例,以便稍後進行比較。我用一個例子編輯了我的回答。 – Chris
非常感謝!它的工作就像一個魅力,現在我覺得有點愚蠢,因爲它很容易,但直到現在我從來沒有父母的頭:)再次感謝! –