2017-04-20 59 views
-3

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

这样模拟器不启动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); 

} 
} 
+1

如果你不提供[sscce](http://sscce.org/)会很难帮到你... –

+0

hellow ..我的问题很简单Buttun1.setEnable(false)在我的工作不正常android项目...它工作的xml方式..但不是通过jav的方式 –

+2

'BUTTON1.setEnable(false);'你的按钮实际上叫'BUTTON1'(全部大写)?!你甚至知道Java是区分大小写的吗? –

回答

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); 
    } 
} 
+0

老兄,你是一个亲其真正的工作......谢谢最后,我可以继续我的游戏.............谢谢.......... –

+0

最受欢迎:) – FAT

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); 
    } 
} 
+0

04-20 13:08:34.380 1580-1695 /? E/SQLiteLog:(1032)语句中止在18:[INSERT INTO shortcut_and_widget_previews(name,preview_bitmap,size)VALUES(?,?,?)] 04-20 13:08:34.380 1580-1695 /? E/SQLiteDatabase:插入name = Widget时出错:UserHandle {0} /com.android.deskclock/com.android.alarmclock.AnalogAppWidgetProvider preview_bitmap = [B @ 19f1405b size = 260x197 android.database.sqlite.SQLiteReadOnlyDatabaseException:尝试写入只读数据库(代码1032) –

0

所以为了设置按钮启用/禁用一个有按钮申报到在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); 
} 

}

才是正道.............感谢EVERONE

+0

我可以知道您为什么只发布我的答案副本并将其标记为已接受?你已经接受我的答案作为正确的答案,现在你发布了同样的答案并接受了它。为什么?我的回答有什么不对? – FAT

+0

我感谢你的帮助... thx –

+0

okey ...但是再也不要这样做了。由于有相同的接受答案,您不需要用类似的答案再次回答。如果没有有用的答案,并且只有您自己解答,您才可以给出答案并接受答案。没有问题。我希望你明白。阅读本文>> https://stackoverflow.com/help/self-answer谢谢:) – FAT

相关问题