我有一個listview嵌入在onCreate方法中的spinner。我想在點擊事件的列表項上點擊toast msg,但無法在ListView項目上設置onClick監聽器。我沒有使用任何自定義適配器。我猜想同一類型的簡單適配器用於微調和列表視圖,因此它會產生一些編譯挫折。Spinner中的ListView:適用於事件檢測的衝突
我一直專注於「爲"lv.setOnItemClickListener(new AdapterView.OnItemClickListener
獲得的錯誤:)
類型新AdapterView.OnItemClickListener({}必須實現 繼承的抽象方法 AdapterView.OnItemClickListener.onItemClick(適配器視圖,視圖,INT , 長)
如何管理設置上的列表視圖項目單擊事件中使用簡單的適配器保持? 難道我莫名其妙地「重命名」列表視圖適配器或如何繼續然後..?
僞代碼
// ...
import android.widget.AdapterView;
/* manually added */
import android.widget.AdapterView.OnItemClickListener;
public class MyActivity extends Activity {
onCreate(Bundle savedInstanceState){
// ... some code
// Set Spinner listener
mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> spinner, View v, int position, long id) {
// ... some code
lv.setOnItemClickListener(new AdapterView.OnItemClickListener()) {
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), "some msg" , Toast.LENGTH_SHORT).show();
}
});
}
}
「我有一個列表視圖在onCreate方法中的微調嵌入」 - 如果可行的話,我會驚呆了。 – CommonsWare
好吧,它確實像一個魅力工作,使用列表視圖數據的哈希列表和要求myAdapter.notifyDataSetChanged();但我努力在listview項目上啓動Toast。 – hornetbzz
微調它自己取決於一個適配器,它顯示的彈出與「ListView」沒有多大區別。那麼爲什麼你在一個Spinner彈出框中嵌入一個列表視圖?你需要多個適配器,而不是多個'ListViews'。另外,如果你想在spinner彈出窗口中捕獲視圖的單個事件,在適配器的'getView()'方法內設置click事件處理程序。 –