【问题标题】:What does this errormessage mean? [duplicate]这个错误信息是什么意思? [复制]
【发布时间】:2016-11-02 12:04:01
【问题描述】:
E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.juliandrach.eatfit, PID: 2223
                  java.lang.IllegalStateException: Could not find method aldirindersalami(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton
                      at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:327)
                      at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284)
                      at android.view.View.performClick(View.java:4438)
                      at android.view.View$PerformClick.run(View.java:18422)
                      at android.os.Handler.handleCallback(Handler.java:733)
                      at android.os.Handler.dispatchMessage(Handler.java:95)
                      at android.os.Looper.loop(Looper.java:136)
                      at android.app.ActivityThread.main(ActivityThread.java:5017)
                      at java.lang.reflect.Method.invokeNative(Native Method)
                      at java.lang.reflect.Method.invoke(Method.java:515)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
                      at dalvik.system.NativeStart.main(Native Method)

基本上,当我通过按下按钮更新变量,然后尝试在同一任务中显示带有 toast 的变量值时,就会发生错误。

public class Mahlzeiten extends AppCompatActivity {

    public static int proteine = 0;
    public static int carbs = 0;
    public static int fette = 0;
    public static int kcal = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mahlzeiten);
        String text = "Hallo" + proteine + "danke";
        Toast.makeText(Mahlzeiten.this, text, Toast.LENGTH_SHORT).show();
    }
        public void aldirindersalami (int proteine){
        proteine++;
      //  String text1 = "Hallo" + proteine + "danke";
       // Toast.makeText(Mahlzeiten.this, text1, Toast.LENGTH_SHORT).show();
    }
}

【问题讨论】:

  • aldirindersalami 的签名错误。应该是public void aldirindersalami(View view)
  • @Blackbelt 解释的内容仅来自第 3 行(通常这是重要的,但只需要阅读错误)java.lang.IllegalStateException: Could not find method aldirindersalami(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton 以下是带有很好解释的副本

标签: java android xml variables


【解决方案1】:

您在 xml 中设置了 onClick 侦听器,但您没有在代码中实现 onClick 方法。你需要以下方法

public void aldirindersalami(View v) {}

处理按钮的点击。

【讨论】:

    猜你喜欢
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多