无法找到在android中制作一系列按钮的方法。
这是我尝试过的代码,但是我收到了java.lang.NullPointerException。
private Button[] button = {(Button) findViewById(R.id.cGuess1),
(Button) findViewById(R.id.cGuess2),(Button)
findViewById(R.id.cGuess3),(Button) findViewById(R.id.cGuess4)};
这甚至可能吗?
编辑:
对不起大家。刚意识到我的错误!
我试图为我的整个类声明数组并尝试在onCreate之前从id获取视图,因此没有setContentView(R.layout.game);
对不起。
答案 0 :(得分:2)
由于没有其他人发布解决方案的实际代码,因此这是一个工作代码段。
Button[] myButtons = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myButtons = new Button[]
{
(Button)findViewById(R.id.button1),
(Button)findViewById(R.id.button2),
(Button)findViewById(R.id.button3),
};
}
答案 1 :(得分:1)
你能试试吗
final Button[] button = {(Button) findViewById(R.id.cGuess1),
(Button) findViewById(R.id.cGuess2),(Button)
findViewById(R.id.cGuess3),(Button) findViewById(R.id.cGuess4)};
答案 2 :(得分:1)
您的其中一个按钮可能为空。并且放置私有关键字不允许我创建数组。另请参阅首先,您要为活动设置cententView,然后访问这些按钮。
答案 3 :(得分:1)
只是猜测因为这里没有完整的代码,你是否在创建数组之前调用了setContentView()。
答案 4 :(得分:0)
public class main2 extends Activity{
final int[] button = {R.id.button1,R.id.button2,R.id.button3,R.id.button4,R.id.button5,
R.id.button6,R.id.button7,R.id.button8,R.id.button9,R.id.button10};
Button[] bt = new Button[button.length];
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.sign);
for(int i=0;i<button.length;i++){
final Context context = this;
final int b = i;
bt[b]= (Button) findViewById(button[b]);
Typeface font = Typeface.createFromAsset(getAssets(), "Angkor.ttf");
bt[b].setTypeface(font);
bt[b].setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent myIntent = new Intent(context,r1.class);
startActivity(myIntent);
}
});
}
}
}