2017-11-05 1 views
-2

i 2 Klasse, ich habe meine Methode in der ersten KlasseWie Call-Methode von einer anderen Klasse?

First.class

public void countIN (View view) { 
    counter++; 
    if (counter == 3){ 
     if (mInterstitialAd.isLoaded()){ 
      mInterstitialAd.show(); 
     } 
    } 
} 

und ich möchte, dass meine Methode in meiner ersten Klasse

Second.class

First myMethod = new First(); 
........ 
private void onClickButton(final ExpandableLayout expandableLayout) { 
    expandableLayout.toggle(); 
    myMethod.countIN(); 
} 
nennen

aber es funktioniert nicht, ich bekomme diesen Fehler: StackTrace

Error:(85, 17) error: method countIN in class RecyclerViewActivity cannot be applied to given types; 
required: View 
found: no arguments 
reason: actual and formal argument lists differ in length 
+1

Fehler scheint klar zu sein, die Methode 'public void countin (Blick v zu sein iew) 'wird zu ** als Argument-Instanz von' View ** ** verlangt, aber durch Aufruf von 'myMethod.countIN()' geben Sie diese Instanz nicht an. Sie benötigen 'myMethod.countIN (someViewInstance)'. – Pshemo

Antwort

0

Sie können einfach null als Parameter übergeben, während das Verfahren Aufruf

myMethod.countIN(null); 

aber das ist nur zum Testen und für weitere Aktionen müssen Sie entweder stoppen Ansicht Ansicht als Parameter in der Methode geben:

public void countIN() { 
counter++; 
if (counter == 3){ 
    if (mInterstitialAd.isLoaded()){ 
     mInterstitialAd.show(); 
    } 
} 

oder verwenden Sie den Parameter

public void countIN (View view) { 
counter++; 
if (counter == 3){ 
    if (mInterstitialAd.isLoaded()){ 
     mInterstitialAd.show(); 
     view.(do something) 
    } 
} 
1

Sie Methode countIN(View view) erfordern ein (1) Argument, das ist ein View-Typ. Sie haben jedoch nichts übergeben, indem Sie es mit myMethod.countIN(); entweder das Argument in der Methodendefinition entfernen, (da Sie es nicht verwenden, soweit ich sehen kann) Oder Sie können das Argument im Methodenaufruf bereitstellen.

+0

können Sie es beheben? – nicvaldy

+0

@DevonJoe Entschuldigung, aber sind Sie bereit, _any__ Aufwand in Ihre Frage zu stellen? Die Fehlermeldung hat Ihnen gesagt, was falsch ist, jetzt haben mehrere Leute Ihnen gesagt, was los ist, aber Sie sind immer noch zu faul, um die Änderung zu machen? Ihre Methode erfordert einen Parameter, aber Sie rufen ihn nicht mit einem Parameter an. Wenn Sie das nicht verstehen, nehmen Sie ein Java-Tutorial. – bcsb1001

+0

ich verstehe nicht, können Sie mir helfen, meinen Code zu reparieren? @ bcsb1001 – nicvaldy

Verwandte Themen