如何在android中的按钮点击事件中看到textview

时间:2012-06-22 11:01:48

标签: android button textview

我开发了一个简单的应用程序,其中包含一个textview.and我的问题是我希望在按钮单击事件的隐形文本视图中可见。

在加载时,我这样做

myTextView.setVisible(View.GONE);

之后在Button Click事件中,我这样做。

myTextView.setVisible(View.VISIBLE);

textview是可见的,但它在下面重叠TextView意味着myTextView不能包含空格。那我现在该怎么办?

5 个答案:

答案 0 :(得分:5)

使用

myTextView.setVisible(View.INVISIBLE);

而不是

myTextView.setVisible(View.GONE);

在广告中保留空间 .........

答案 1 :(得分:0)

如果您使用的是relativelayout,请在第二个文本视图中指定android:layout_below="id_of_above_text_view"

如果你没有在相对布局中指定与视图的关系,它将出现在其他

之上

答案 2 :(得分:0)

您的代码稍有变化,我认为它可以正常工作。

myTextView.setVisibility(View.INVISIBLE);

点击按钮后,

myTextView.setVisibility(View.VISIBLE);

要在java代码中执行此操作,请继续(尽管我自己没有尝试过)...

RelativeLayout rl = new RelativeLayout(this);
ImageView iv = new ImageView(this);
iv.setImageResource(R.drawable.xxx);
TextView txt = new TextView(this);
txt.setText("XXX");
rl.addView(iv,0);
rl.addView(txt,1);

答案 3 :(得分:0)

试试这个:

RelativeLayout layout = new RelativeLayout(this);
TextView tv1 = new TextView(this);
tv1.setText("A");
tv1.setId(1); 

TextView tv2 = new TextView(this);
tv2.setText("B");
tv2.setId(2);

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.FILL_PARENT);
lp.addRule(RelativeLayout.BELOW, tv1.getId());

layout.addView(tv1);        
layout.addView(tv2, lp);

当您更改可见性时,请在myTextView的父视图(此处为布局)或布局的根视图(invalidate())上调用layout.getRootView()

答案 4 :(得分:0)

按下相应的按钮时,将显示和隐藏文本。 如果要使用按钮

控制多个文本,这非常有用

1)XML文件:

                    <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:orientation="vertical"
                    android:gravity="center_vertical">
                    <TableRow
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center" >
                    <Button
                        android:text="The Origin"
                        android:id="@+id/btnOrigin"
                        android:onClick="buttonOnClick"/>
                    </TableRow>
                    <TableRow
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center" >
                        <TextView
                            android:id="@+id/txtOrigin"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:text="@string/about"
                            android:textColor="#000"
                            android:textSize="@dimen/text_body"
                            android:gravity="center_vertical"
                            android:layout_marginLeft="10dp"
                            android:layout_marginRight="10dp"
                            android:visibility="gone"/>
                    </TableRow>
                </LinearLayout>
                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:orientation="vertical"
                    android:gravity="center_vertical">
                    <TableRow
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center" >
                        <Button
                            android:text="Vision"
                            android:id="@+id/btnVision"
                            android:onClick="buttonOnClick"/>
                    </TableRow>
                    <TableRow
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center" >

                        <TextView
                            android:id="@+id/txtVision"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:text="@string/vision"
                            android:textColor="#000"
                            android:textSize="@dimen/text_body"
                            android:gravity="center_vertical"
                            android:layout_marginLeft="10dp"
                            android:layout_marginRight="10dp"
                            android:visibility="gone"/>
                    </TableRow>
                </LinearLayout>

2)JAVA代码

        private TextView txtOrigin, txtVision;


        public void buttonOnClick(View view) {
        switch (view.getId()) {
            case R.id.btnOrigin:
                txtOrigin = (TextView) findViewById(R.id.txtOrigin);
                txtOrigin.setVisibility(View.VISIBLE);
                txtVision = (TextView) findViewById(R.id.txtVision);
                txtVision.setVisibility(View.INVISIBLE);
                break;
             case R.id.btnVision:
                txtVision = (TextView) findViewById(R.id.txtVision);
                txtVision.setVisibility(View.VISIBLE);
                txtOrigin = (TextView) findViewById(R.id.txtOrigin);
                txtOrigin.setVisibility(View.INVISIBLE);
                break;
                }
             }