如何比较Android中的两个按钮值

时间:2016-04-11 18:43:49

标签: android android-button

首先发布在这里,所以请告知我是否做错了什么:)

我正在为大学项目构建应用程序。

我所拥有的是Android Studio中的两个按钮。第一个按钮创建一个随机数,第二个按钮需要将它与按钮1进行比较,如果匹配则播放一些音频。

以下是随机数字按钮的代码..

public void random(View view) {
int rando = (int) (Math.random()*6);
if(rando == 1){
        play_s.start();
    }else if (rando == 2){
        play_t.start();
    }else if (rando == 3){
        play_p.start();
    }else if (rando == 4){
        play_i.start();
    }else if (rando == 5){
        play_n.start();
    }else {
        play_a.start();
    }

这是两个按钮的代码

 <Button
    android:id="@+id/button_s"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:text="@string/button_s"
    android:padding="16dp"
    android:textColor="@color/White"
    android:background="@layout/nice_button"
    android:textSize="50sp"
    android:layout_below="@+id/imageBtnBack"
    android:layout_centerHorizontal="true" />

<Button
    android:id="@+id/button3"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:onClick="random"
    android:text="Press for letter"
    android:textColor="@color/White"
    android:background="@layout/nice_button"
    android:textSize="20sp"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/button_i"
    android:layout_alignEnd="@+id/button_i" />

所以,我的问题是,如果第二个按钮与第一个按钮匹配,我怎么能播放一些音频?

提前致谢..

1 个答案:

答案 0 :(得分:0)

在某个地方你需要一个包含所有按钮的列表,例如public void random(View view) { Button clicked = (Button) view; String clickedTxt = clicked.getText(); int rando = (int) (Math.random()*6); Button randoButton = allButtons.get(rando); if(rando == 1 && clickedTxt.equals("s")) { play_s.start(); } } ,然后你可以稍后获取它们并比较它们上面显示的文字。

TextUtils.equals(clicked.getText(), randoButton.getText())

如果您想将您点击的按钮与随机按钮的内容进行比较,那么您可能需要import xlwt import xlrd book = xlwt.Workbook() ws = book.add_sheet('First Sheet') # Add a sheet f = open('/DOT/textfile.txt', 'r+') data = f.readlines() # read all lines at once for i in range(len(data)): row = data[i].split() # This will return a line of string data, you may need to convert to other formats depending on your use case for j in range(len(row)): ws.write(i, j, row[j]) # Write to cell i, j book.save('/DOT/Excelfile' + '.xls') f.close()