如何使btnListShuffleRepeat在Android上工作

时间:2019-07-05 16:16:46

标签: android

我试图创建一个按钮,以在单击它时在测试之间切换,但是每次我单击该按钮时,应用程序都会崩溃。另外,请使代码和解释尽可能简单,因为我是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
    }
}

我希望最终结果是我的按钮可以正常工作并且可以切换其文本

1 个答案:

答案 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))获取引用。否则,它将通过一个例外。