在游戏风格的场景中使用按钮

时间:2014-05-09 15:10:57

标签: android

我有5个线性布局,每个布局包含10个按钮,从而产生5×10的按钮阵列。我希望用户选择5个按钮,每个按钮包含一个特定的点值。在下一页,我希望这5个按钮的点值之和出现在文本视图中。

这是我到目前为止尝试过的,使用了一小部分代码。

在xml文件中:(这是一个2乘3的样本)

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <Button
        android:id="@+id/button11"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="50" />

    <Button
        android:id="@+id/button12"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="50" />

    <Button
        android:id="@+id/button13"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="75" />

    </LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <Button
        android:id="@+id/button21"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="00" />

    <Button
        android:id="@+id/button22"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="25" />

    <Button
        android:id="@+id/button23"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="75" />

    </LinearLayout>

我不确定要对java文件做什么,但我正在考虑给每个button id一个值(当前由按钮名称表示)并将所有值相加,然后将显示在下一页。

2 个答案:

答案 0 :(得分:0)

您只需将按钮上的文字转换为整数:

int value = 0;
try {
    value = Integer.parseInt(button.getText().toString());
} 
catch(NumberFormatException nfe) {
}

答案 1 :(得分:0)

假设xml文件名为activity_main.xml。你需要有一个Activity类,我们称之为MainActivity.java

MainActivity.java

public class MainActivity extends Activity implements OnClickListener{
    private totalVal = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button12 = (Button) findViewById(R.id.button12);
        button12.setOnClickListener(this);

        // ... Do the same for the rest of the buttons

    }

    @Override
    public void onClick(View v){
        switch(v.getId(){
            case R.id.button12: 
                int textVal = Integer.parseInt(v.getText().toString());
                totalVal = totalVal + textVal;
                // do whatever else you want to when the button is clicked
                break;
            // ... Do the same for the rest of the buttons
    }

您还需要一个按钮,表示您已完成,并以类似的方式实施