[英]android studio OnClicklistener no reaction on first Click
您好,尽管我在尝试时可以听到Click声音,但我的OnClicklistener却没有获得第一声Click。 我只是在寻找解决方案,但没有找到适合我的解决方案。
XML格式
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="140dp"
android:layout_height="40dp"
android:background="@drawable/button"
android:text="@string/ButtonNO"
android:onClick="KlickNo"
android:id="@+id/NoKlickKopf"
android:layout_toEndOf="@+id/imageView2"
android:layout_below="@+id/imageView2"
android:layout_alignLeft="@+id/button5"
android:layout_alignStart="@+id/button5" />
爪哇
public void KlickYes(查看视图){
Button button1 = (Button) findViewById(R.id.YesKlickKopf);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
frage = frage + 1;
switch (frage) {
case 1: //error
break;
case 2: //error
break;
default:
break;
}
}
});
}
public void KlickNo (View view) {
Button button2 = (Button) findViewById(R.id.NoKlickKopf);
button2.setOnClickListener(new OnClickListener() {
final TextView mTextView = (TextView) findViewById(R.id.textViewkopffrage);
final TextView tTextView = (TextView) findViewById(R.id.texttrivakskopf);
@Override
public void onClick(View v) {
frage = frage + 1;
switch (frage) {
case 1: //error
break;
case 2: //error
break;
default:
break;
}
}
});
}
您做错了。 您已经在xml中定义了onClick。 您不必在KlickNo函数内部创建onclick侦听器。 只需编写您想要执行的代码,即从KickNo中删除按钮声明和 onclicklistener。
您在这段代码中所做的是,您首先通过xml设置了一个void KlickNo (View view)
以运行方法void KlickNo (View view)
然后您可以通过设置new OnClickListener(){ blah,blah}
替换先前的设置来取消所有这些操作
您必须使用其中之一。 KlickNo方法由xml OnCLickListener设置的OnClick调用,因此直接在其中进行操作并删除.setOnClickListener(.....)声明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.