遗憾的是,在声明按钮时模拟器中出现错误

Mal*_*ily 1 java xml layout android android-emulator

当我在MainActivity.java中声明一个按钮时,我在模拟器中得到了不幸的错误

但是当我评论按钮声明时,没有错误

这是MainActivity.java代码:

package com.MalekAlrwily.multiplication;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.content.Intent;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final Button btn = (Button)findViewById(R.id.btn_start) ;
}



}
Run Code Online (Sandbox Code Playgroud)

这是main.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/main2" >

<ImageButton
    android:id="@+id/btn_start"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="@android:color/transparent"
    android:contentDescription="@android:string/ok"
    android:src="@drawable/sun" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

请帮忙

提前致谢 .

Rac*_*hra 5

这是ImageButton你的布局,所以你也应该ImageButton在你的活动中使用.

final Button btn = (Button)findViewById(R.id.btn_start) ;
Run Code Online (Sandbox Code Playgroud)

这应该是

final ImageButton btn = (ImageButton) findViewById(R.id.btn_start) ;
Run Code Online (Sandbox Code Playgroud)


fll*_*llo 5

这是因为,你申报xmlImageButton和动态的,需要声明Button.

它应该是:

final ImageButton btn = (ImageButton) findViewById(R.id.btn_start) ;
Run Code Online (Sandbox Code Playgroud)


Goo*_*iec 5

Iths因为你尝试加载ImageButtonButton

你应该用

final ImageButton btn = (ImageButton)findViewById(R.id.btn_start) ;
Run Code Online (Sandbox Code Playgroud)