私はAndroidスタジオを使用している初心者のAndroid開発者です。私は最初のアプリを開発しようとしています。それがクリックされた場合、私は、リストから項目を削除したいと思いますが、私は、次の例外/エラーを取得しています:Android:ListViewでsetOnItemClickListenerを使用する
Caused by: java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead
at android.widget.AdapterView.setOnClickListener(AdapterView.java:783)
を私はリンクをクリックすると、「AdapterView.java:783」アンドロイドスタジオは、私を取りますこの次のインターフェイスに:
public interface OnItemClickListener {
void onItemClick(AdapterView<?> var1, View var2, int var3, long var4);
}
私が実装しようとしているコードは次のとおりです。コードはsetOnClickListenerを発見された場合
public void removeItem(View view){
/*
Sample:
// Is the view now checked?
boolean checked = ((CheckBox) view).isChecked();
*/
ListView vehiclesLst = (ListView) findViewById(R.id.vehicle_list);
ArrayAdapter<String> vehicleAdapter =
new ArrayAdapter<String>(this, R.layout.activity_vehiclelist, vehicleList);
vehiclesLst.setAdapter(vehicleAdapter);
vehiclesLst.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String vehicleItem = ((TextView) view).getText().toString();
vehicleList.remove(vehicleItem);
}
});
}
私は理解していない方法。誰が何が起こっているのかを説明するドキュメントを知っていますか?
私は私が見つけた例を以下ました。これはそれが実証された方法でした。 ListViewのどの値が渡されるべき位置を表しているかはわかりません。 – astevens009