2011-07-17 18 views
1

私はダイアログ内でListViewを設定しましたが、ダイアログでonItemSelectedListenerを設定すると、ダイアログボックスのListView内で何かが選択されていることも登録されません。何か案は?ここで私が持っているものです。ダイアログ内でListViewの "onItemSelectedListener"を設定する方法。 Android

Dialog dialog = new Dialog(DealActivity.this); 
dialog.setContentView(R.layout.test_list); 
dialog.setTitle("Test Dialog"); 
dialog.setCancelable(true); 
dialog.setCanceledOnTouchOutside(true); 
ListView listView = (ListView) dialog.findViewById(R.id.listView); 

//DIDNT INCLUDE CODE HERE THAT SETS UP THE ADAPTER! 
//THIS IS WHERE I SET UP THE LISTENER WITHIN THE DIALOG. 

listView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {        

    public void onItemSelected(AdapterView<?> parent,View arg1, int arg2, long arg3) { 
     Log.d("clicked","clicked "+ listView.getItemSelectedPosition()); 
    } 

    public void onNothingSelected(AdapterView<?> parent) { 

    } 
}); 
} 
    dialog.show(); 
} 
+0

リストアイテムをタッチしたときにイベントを再生しようとしていますか?もしそうなら、listview.setOnItemClickListener(...)を試してください – sat

+0

私はこの問題を正確に持っています...どうしたらそれを修正できましたか?任命されたソリューションは私のために働いていない...私はまた、リストの項目の中に任意の種類のボタンを持っていない..だからそれは焦点になるようです – CantThinkOfAnything

答えて

2

チェックボックス、ボタンなどのリストビューの各項目にいくつかのコントロールを持っている場合はそのレイアウトXMLにこれを追加するなど、

ListView list = (ListView) findViewById(R.id.listView); 
list.setItemsCanFocus(false); 

、これを試してみてください。

android:focusable="false" 
android:focusableInTouchMode="false" 
android:clickable="false" 
関連する問題