在我的情况下Button1.setEnable(True);不管用

时间:2017-04-20 14:19:01

标签: java android

在我的情况下,当我尝试使用BUTTON1.setEnable(false)设置按钮启用时;

因此模拟器无法启动apk ...

我想创建一个带有一些按钮的游戏级别菜单启用和其余的按钮禁用。每个按钮都是一个游戏级别..所以如果我的整数标志有值5所以前五个级别按钮应该是活动的,其余的按钮被禁用....但我甚至无法设置单个按钮禁用...请帮助我错过了按钮的一些概念...在OnResume()或OnCreate()中更改其状态的位置;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button b1=(Button)findViewById(R.id.button);

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
 b1.setEnabled(false);

}
}

3 个答案:

答案 0 :(得分:0)

我现在手头没有Android开发环境,但我可以想象,它有一些事情可做,视图(因此按钮)在启动属性时不可用B1。你可以尝试以下方法:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {


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

        getButton1().setEnabled(false);

    }

    private Button getButton1() {
        return (Button)findViewById(R.id.button);
    }
}

答案 1 :(得分:0)

您应该在b1 = (Button) findViewById(R.id.button)方法中添加onCreate()

试试这个:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    Button b1;

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

        b1 = (Button) findViewById(R.id.button);
        b1.setEnabled(false);
    }
}

答案 2 :(得分:0)

所以为了设置按钮启用/禁用,必须将按钮声明为OnCreate ...否则它将找不到按钮的视图并显示错误...

0.9

}

是正确的方式.............感谢任何人