Meine Adapterklasse:android-Fragment und Aktivität: andere Schnittstelle, gleiche Instanz
private CheckFavourite checkFavourite;
private ItemCLickCallback itemCLickCallback;
public void setCheckFavourite(final CheckFavourite checkFavourite){
this.checkFavourite = checkFavourite;
}
public void setItemCLickCallback(final ItemCLickCallback itemCLickCallback){
this.itemCLickCallback = itemCLickCallback;
}
public interface ItemCLickCallback {
void onItemClick(int p);
void onSecItemClick(int p);
}
boolean isFavourite = checkFavourite.getFavourite(winkel);
public interface CheckFavourite{
boolean getFavourite(Winkel winkel);
}
Fragment:
public class Overview extends Fragment implements Adaptor.ItemCLickCallback{
adaptor = new Adaptor(mijnwinkels, this.getActivity());
adaptor.setItemCLickCallback(this);
// Code is incomplete, but this works.
adaptor.setCheckFavourite(this.getActivity());
// This doesn't work.
}
Aktivität:
public class SecondActivity extends AppCompatActivity implements Adaptor.CheckFavourite{
@Override
public boolean getFavourite(Winkel winkel){
boolean isFavourite = false;
MyDBHandler dbHandler = new MyDBHandler(this,null,null,1);
isFavourite = dbHandler.isFavourite(user,winkel);
return isFavourite;
}
}
Mein Fragment implementiert die erste Schnittstelle und Mein Adapter wird in meinem Fragment erstellt. Meine Aktivität implementiert die zweite Schnittstelle, da ich Daten benötige, die in meiner Aktivität die Funktion ausführen, aber es ist derselbe Adapter. Wie kann ich das zur Arbeit bringen? Das ist mein Fehler:
Error:(60, 51) error: incompatible types: FragmentActivity cannot be converted to CheckFavourite.
Irgendwie funktioniert es jetzt zufällig? Ich verstehe es nicht, aber ich denke, es ist behoben. Ich habe nichts geändert, aber der Code fängt an zu arbeiten, lol.
Haben Sie eine Klasse namens 'FragmentActivity'? Bevor Sie die Zeile aufrufen, die den Fehler verursacht ('adaptor.setCheckFavourite (this.getActivity());'), was ist Ihre 'LogCat' Ausgabe für' Log.d ("TAG", getActivity(). GetClass(). GetName()); '? – PPartisan