onCreate メソッド内のスピナーにリストビューを埋め込んでいます。クリック イベントでリスト アイテムにトーストメッセージを送信したいのですが 、ListView アイテムに onClick リスナーを設定できません。カスタムアダプターは使用していません。スピナーとリストビューの両方に同じタイプの単純なアダプターが使用されていると思われるため、コンパイル時にフラストレーションが発生します。
"lv.setOnItemClickListener(new AdapterView.OnItemClickListener
"で得られたエラーに注目し続けます。
タイプ new AdapterView.OnItemClickListener(){} は、継承された抽象メソッド AdapterView.OnItemClickListener.onItemClick(AdapterView, View, int, long) を実装する必要があります。
シンプルなアダプターを使用し続けるリストビュー項目でそのクリックイベントを設定するにはどうすればよいですか? どういうわけか、リストビューアダプターの名前を「変更」する必要がありますか、それともどのように進めるか.. ?
疑似コード
// ...
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();
}
});
}
}