2013-01-08 49 views
0

我剛剛學習如何使用ListViews。我得到了它的工作,但不會在有人點擊某個項目時能夠做出迴應。Android:試圖獲得響應,當用戶點擊列表框中的項目時

我正在嘗試使用setOnItemClickListener方法接回一個項目被點擊的回調。但我的代碼不會編譯,因爲方法setOnItemClickListener的錯誤 r 現在我得到一個錯誤,說 setOnItemClickListener不適用於參數OnItemClickListener();

void SetUpList() 
     { 

      listView = (ListView) findViewById(R.id.mylist); 
      String[] values = new String[] { "Android", "iPhone", "WindowsMobile"}; 
      EventsAdapter adapter = new EventsAdapter(this, cGlobals.eventsTitle); 

      // Assign adapter to ListView 
      listView.setAdapter(adapter); 

    // this is whare I get the error listView.setOnItemClickListener(new OnItemClickListener() { 
         public void onItemClick(AdapterView<?> parent, View view, 
           int position, long id) { 
          // When clicked, show a toast with the TextView text 

         } 
        }); 
      } 
    } 
+0

請發表確切的錯誤信息 –

回答

1

首先確保你已經導入這個類:

import android.widget.AdapterView.OnItemSelectedListener; 

接下來,你需要調用setOnItemClickListener()像這樣:

listView.setOnItemClickListener(new OnItemClickListener() { 
    @Override // "@Override" is required for Java 1.6, but forbidden in 1.5 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     // Do Something 
    } 
}); 

或者,如果你的活動實現OnItemClickListener:您需要添加方法之外的onItemClick()方法:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    // Do Something 
} 

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    // Do something else 
} 

(當然,如果要擴展一個ListActivity或ListFragment應重寫onListItemClick(),而不是像onItemClick()第二種方法。)

+0

謝謝您的回答,它的工作原理! –

相關問題