onListItemClick() Fehler: es muss überschreiben oder implementieren Sie eine Supertyp-Methode
Ich bin ein Anfänger in der Android und Java. Ich suchte nach einer Antwort zu diesem Fehler, aber nichts in stackOverflow arbeitete für meine situation. Ich bin nach einem Buch, das sagt, dann brauchen wir eine onListItemClick () - Methode aus einer Klasse (CrimeListFragment) wir erstellt, erweitert ListFragment (mit der Methode und die Klasse sind obligatorisch).
Aber ich erhalte die Fehlermeldung:
@Override
public void onListItemClick(ListView 1, View v, int position, long id)
{
Crime c = (Crime)(getListAdapter()).getItemViewType(position);
Log.d(TAG, c.getTitle() + " was clicked");
}
Den Fehler sagt
"Die Methode onListItemClick der Typ CrimeListFragment überschreiben muss
oder implementieren Sie eine Supertyp-Methode".
Es auch ein problem mit der Listenansicht 1 argument. Das zeigt einen Fehler zu.
Diesem Projekt ist kompliziert, mit vielen Klassen, aber hier ist der Haupt-code für diese Seite:
package com.bignerdranch.android.criminalintent;
import java.util.ArrayList;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class CrimeListFragment extends ListFragment {
private static final String TAG = "CrimeListFragment";
private ArrayList<Crime> mCrimes;
@Override
public void onListItemClick(ListView 1, View v, int position, long id)
{
Crime c = (Crime)(getListAdapter()).getItemViewType(position);
Log.d(TAG, c.getTitle() + " was clicked");
}
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
getActivity().setTitle(R.string.crimes_title);
mCrimes = CrimeLab.get(getActivity()).getCrimes();
ArrayAdapter<Crime> adapter = new ArrayAdapter<Crime>(getActivity(),
android.R.layout.simple_list_item_1, mCrimes);
setListAdapter(adapter);
}
}
WIE kann ich loszuwerden, diese 2 Fehler? Danke.
Dank Tal, sondern auf der Android-Entwickler-website, es scheint in Ordnung zu haben eine 1 gibt es, glaube ich (?): 'onListItemClick(ListView l, View v, int position, long id)' Diese Methode wird aufgerufen, wenn ein Element in der Liste ausgewählt ist. developer.android.com/reference/android/support/v4/app/...
verwenden Sie 'l' und nicht '1'
seine l wie Lampe. was ist der Fehler jetzt?
getItemViewType(...) liefert ein int (developer.android.com/reference/android/widget/Adapter.html). Warum sind Sie versuchen zu casten, um die Kriminalität? Es wird nicht funktionieren.
InformationsquelleAutor Azurespot | 2014-01-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bei der Vergabe der Namen für die Variablen und Parameter der Methode in Java sollte man diese Regeln befolgen:
Du bist eindeutig gegen Sie, indem Sie mit "1" als parameter-Namen. Benennen Sie es um, entsprechen die Regeln bei der Benennung, die es lösen sollte, sowohl von der Zusammenstellung Probleme.
Weitere Informationen entnehmen Sie bitte hier
onListItemClick(ListView l, View v, int position, long id)
Diese Methode wird aufgerufen, wenn ein Element in der Liste ausgewählt ist. developer.android.com/reference/android/support/v4/app/...InformationsquelleAutor Jk1
Danke an alle für Eure Hilfe. Ich war in der Lage, den Fehler zu korrigieren, die das ändern des 1 (Anzahl), um ein l (in der Lampe) Brief, und entledigte sich ein Fehler ein. Dann eine neue kam, die sagte:
Konnte ich nicht herausfinden. Aber dann (nach der Prüfung zum vierten mal) ich habe meine code erneut für die Fehler in der Transkription (aus dem Buch), und es stellt sich heraus, das auto-füllen wähle ich durch Zufall die
.getItemViewType()
wenn es gewesen sein sollte, die.getItem()
Methode. So, jetzt ist es mehr spezifisch für die Annahme derint position
da dieser parameter ist ein array, was ich benutze es für meinen code.Den
getItem()
kommt von ArrayAdapter http://developer.android.com/reference/android/widget/ArrayAdapter.htmlIn der Erwägung, dass die
getItemViewType()
kommt vom Adapter, das ist nicht das, was ich verwenden möchten.http://developer.android.com/reference/android/widget/Adapter.html
Danke an alle für Ihre Hilfe! Es ist definitiv behoben, ein Fehler. Es ist immer wieder seltsam für mich, dass eine Fehlermeldung erscheint NUR, nachdem Ihr richtige einem anderen. Aber zumindest funktioniert es jetzt!
InformationsquelleAutor Azurespot