Android - 同时显示按钮和文本

时间:2012-12-11 03:42:06

标签: android eclipse button text

我花了几个小时才完成这项工作,而且我几乎没有取得任何进展。我问了一个类似的问题,但是在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>

2 个答案:

答案 0 :(得分:1)

您要将“活动”设置为使用TextView作为整个视图。你的按钮永远不会显示这样(真的,你的布局中还有其他任何东西)!在R.layout.activity_counter制作TextView和Button,然后使用

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

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

答案 1 :(得分: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);
     }

}