2016-12-17 66 views
-1

我對Android很陌生並創建我的第一個應用程序。我使用的使用下面的代碼:java.lang.IllegalStateException:無法執行android的方法:onClick android

public class MainActivity extends AppCompatActivity { 

int netScore = 0; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

public void addOne(View view) { 
    netScore = netScore + 1; 
    displayScore(netScore); 
} 

private void displayScore(int printScore) { 
    TextView varScore = (TextView) findViewById(R.id.score); 
    varScore.setText(printScore); 
} 

} 

當我按一下按鈕,它會拋出這個錯誤在調試:

FATAL EXCEPTION: main 

java.lang.IllegalStateException: Could not execute method for android:onClick 
                       at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293) 
                       at android.view.View.performClick(View.java:5198) 
                       at android.view.View$PerformClick.run(View.java:21147) 
                       at android.os.Handler.handleCallback(Handler.java:739) 
                       at android.os.Handler.dispatchMessage(Handler.java:95) 
                       at android.os.Looper.loop(Looper.java:148) 
                       at android.app.ActivityThread.main(ActivityThread.java:5417) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                      Caused by: java.lang.reflect.InvocationTargetException 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) 
                       at android.view.View.performClick(View.java:5198)  
                       at android.view.View$PerformClick.run(View.java:21147)  
                       at android.os.Handler.handleCallback(Handler.java:739)  
                       at android.os.Handler.dispatchMessage(Handler.java:95)  
                       at android.os.Looper.loop(Looper.java:148)  
                       at android.app.ActivityThread.main(ActivityThread.java:5417)  
                       at java.lang.reflect.Method.invoke(Native Method) 

有誰知道這個錯誤的想法?

+0

你的onclick按鈕的代碼和綁定按鈕的位置在哪裏? –

+0

是的,我使用它作爲: <按鈕 機器人:layout_width = 「0dp」 機器人:layout_height = 「WRAP_CONTENT」 機器人:layout_weight = 「1」 機器人:paddingBottom來= 「24dp」 機器人:paddingTop =」 24dp「 android:text =」1「 android:textSize =」24sp「 android:onClick =」addOne「/> – rkd

+0

發佈您的完整代碼 –

回答

0

嘗試在xml佈局中添加像這樣的onClick嗎?

android:onClick="method" 

如果是這樣,請確保沒有錯別字。 在你的情況很可能是:

android:onClick="addOne" 

您還可以監聽程序的單擊事件。檢查出this

+0

是的,我用它作爲: <按鈕 的android:layout_width = 「0dp」 機器人:layout_height = 「WRAP_CONTENT」 機器人:layout_weight = 「1」 機器人:paddingBottom來= 「24dp」 機器人:paddingTop = 「24dp」 機器人:文本= 「1」 機器人:TEXTSIZE = 「24sp」 機器人:的onClick = 「addOne」/> – rkd

+0

嘗試varScore。的setText( 「」 + printScore); – julamme

+0

或者更好的選項是varScore.setText(String.valueOf(printScore)) – julamme

相關問題