I auszulösen haben eine Schnittstelle, die eine Methode genannt drawCharts() hat, ich habe ein BaseFragmentClass
die diese Schnittstelle implementiert, nun erklärt ich eine weitere ChildFrgament
Klasse, die BaseFragmentClass
erstreckt, habe ich versucht drawCharts() Methode außer Kraft zu setzen in ChildFragment
Klasse, aber es ist überhaupt nicht ausgelöst. Unten ist mein Code-Schnipselkann nicht überschreiben Methode
1
A
Antwort
0
Methoden werden nicht ausgelöst, nur weil sie in einem Elternteil deklariert sind, sollten Sie sie von irgendwo anrufen.
Im folgenden Beispiel Sie diese Methode aufrufen, nachdem einige Schaltfläche geklickt wurde:
interface IDraw {
public void drawCharts();
}
public class BaseFragment extends Fragment implements IDraw {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
// this method is triggered by a click on a button
public void onDrawButtonClick(View v) {
// this will call a method implemented by a particular fragment - a child
drawCharts();
}
@Override
public void drawCharts() {
}
}
public class ChildFragment extends BaseFragment {
@Override
public void drawCharts(){
// have some stuff to execute
// but not able to trigger
}
}
Sie können auch versuchen, diese Methode von der Mutter onCreateView
oder onResume
Methoden auslösen, hängt davon ab, was Sie tun müssen. Java stellt sicher, dass die Methode von einer tatsächlichen Klasse und nicht von einer übergeordneten Klasse aufgerufen wird.
Ist es 'onDraw()' oder 'drawCharts()'? –
@MikeM. Bearbeitete meine Frage – Rahul
Wie versuchen Sie, diese Methode auszulösen? –