按下按钮可使Textview可见

时间:2013-11-25 21:00:55

标签: java android button textview onclicklistener

我在Android应用程序编程中完成了我的第一堂课,希望你们能帮忙解决这个问题。

我需要将代码连接到按钮,所以当我按下它时,我的textview会出现。

在我的XML文件中,我有

   <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="22dp"
    android:text="@string/ok_knappen" 
    android:textColor="@color/button_dark_text"
    android:onClick="b"
    />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/button1"
    android:layout_alignLeft="@+id/textView2"
    android:layout_marginBottom="15dp"
    android:text="@string/Beskrivning"
    android:visibility="invisible" />

在我的活动中我有

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

    final TextView t=(TextView)findViewById(R.id.textView3);
    Button b= (Button) findViewById(R.id.button1);

    b.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
        t.setVisibility(View.VISIBLE);
        }
    });
}

没有发生错误。我的文本是invisbile但是当我点击按钮时没有任何反应。有什么问题?

4 个答案:

答案 0 :(得分:2)

在TextView中添加:

android:visibility="invisible"

在Java代码中:

public void b(View view) {

    EditText numerField = (EditText) findViewById(R.id.button1);
    TextView  tex = (TextView) findViewById(R.id.textView2);
    tex.setVisibility(View.VISIBLE);
    //do sth
}

答案 1 :(得分:1)

只需更改

指定的textView即可
android:visibility="gone"

答案 2 :(得分:0)

尝试从Button中删除 onClick 属性。

onClick属性后面应该跟一个方法。这个方法“b”不存在,但是因为你已经在代码中设置了onClickListener,所以我认为这似乎没有必要。

答案 3 :(得分:0)

删除XML中的onClick条目,或在活动中创建一个带有签名“public void b(View v)”的方法。在XML中分配onClick试图找到具有这种侦听器的方法。 XML可能会覆盖onClick侦听器的Java分配。