1

我在这方面花了几个小时,但我几乎没有取得任何进展。我问了一个类似的问题,但超过2小时,仍然没有成功。所以我会问这个并尽可能具体。我已经花了大约三个小时,所以请不要把我写下来。

我想同时显示文本和一个 ToggleButton。我可以显示一个或另一个,但不能同时显示。请帮忙!这是我的代码:

public class Counter extends Activity {

    private int count = 5000;
    private int hiCount = 0;
    private boolean capCount = false;



    @Override
    protected void onCreate(Bundle instCounter) {

        super.onCreate(instCounter);

        setContentView(R.layout.activity_counter);

        TextView tv = new TextView(this);

        tv.setTextSize(250);
        if (count < 10000 && capCount == false) {

            tv.setText(Integer.toString(count));
        } else {
            capCount = true;
            if (count >= 10000) {
                hiCount += 10;
                count -= 10000;
            }
            if (hiCount < 100) {

                tv.setText(hiCount + "k+" + count);
            } else {
                tv.setText("Over\n100k");
            }
        }
        tv.setGravity(Gravity.CENTER);

        setContentView(tv);

//      ToggleButton btnPause = new ToggleButton(this);

//       if (btnPause == buttonOn) {
//       Intent pause = new Intent(this, Pause.class);
//       startActivity(pause);
//       }

    }

    public void pauseCounter(View view) {
        Intent pause = new Intent(this, Pause.class);
        startActivity(pause);
    }

    // // Show the Up button in the action bar.
    // getActionBar().setDisplayHomeAsUpEnabled(true);
}

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Counter" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />

    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="ToggleButton" />

</RelativeLayout>
4

2 回答 2

1

您将 Activity 设置为使用 TextView 作为整个视图。您的按钮永远不会像这样显示(实际上也不会,您的布局中还有其他任何东西)!在你R.layout.activity_counter制作一个 TextView 和 Button,并使用

TextView tv = (TextView) findViewById (R.id.textView1);

这将允许您在从布局中找到 TextView 时同时拥有两个UI 元素,然后使用它,同时不理会其他所有内容。

于 2012-12-11T03:45:53.583 回答
0

只是onCreate改变

@Override
protected void onCreate(Bundle instCounter) {

    super.onCreate(instCounter);

    setContentView(R.layout.activity_counter);

    TextView tv = (TextView)(findViewById(R.id.textView1));

    tv.setTextSize(250);
    if (count < 10000 && capCount == false) {

        tv.setText(Integer.toString(count));
    } else {
        capCount = true;
        if (count >= 10000) {
            hiCount += 10;
            count -= 10000;
        }
        if (hiCount < 100) {

            tv.setText(hiCount + "k+" + count);
        } else {
            tv.setText("Over\n100k");
        }
    }
    //tv.setGravity(Gravity.CENTER);

    //setContentView(tv);

     ToggleButton btnPause = (ToggleButton)(findViewById(R.id.toggleButton1));

     if (btnPause == buttonOn) { //Do not know what you want here
     Intent pause = new Intent(this, Pause.class);
     startActivity(pause);
     }

}
于 2012-12-11T03:47:10.807 回答