我在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但是当我点击按钮时没有任何反应。有什么问题?
答案 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分配。