我试图创建一个按钮,以在单击它时在测试之间切换,但是每次我单击该按钮时,应用程序都会崩溃。另外,请使代码和解释尽可能简单,因为我是Java编码的新手。谢谢
我尝试更改可以在互联网上找到的.getText()的多重方法,但是它不起作用,我尝试将按钮分配给字符串并尝试代码,但仍然不起作用
public void playListShuffleRepeat(View btnView){
if (btnListShuffleRepeat.getText().toString().equals("LIST")){
btnListShuffleRepeat.setText("LOOP");
//Loop function
}
if(btnListShuffleRepeat.getText().equals("LOOP")){
btnListShuffleRepeat.setText("SHUFFLE");
//Shuffle function
}
if(btnListShuffleRepeat.getText().equals("SHUFFLE")){
btnListShuffleRepeat.setText("LIST");
//List function
}
}
我希望最终结果是我的按钮可以正常工作并且可以切换其文本
答案 0 :(得分:0)
尝试将btnListShuffleRepeat
替换为btnView
。
public void playListShuffleRepeat(View btnView){
if (btnView.getText().toString().equals("LIST")){
btnView.setText("LOOP");
//Loop function
}
else if(btnView.getText().equals("LOOP")){
btnView.setText("SHUFFLE");
//Shuffle function
}
else if(btnView.getText().equals("SHUFFLE")){
btnView.setText("LIST");
//List function
}
}
首先,您必须获取按钮视图的引用。 如果您创建按钮变量如
Button btn;
然后,您必须为其分配内存(btn = new Button(Context)
),或者必须从xml(btn = findViewById(R.id.yor_btn_id)
)获取引用。否则,它将通过一个例外。