android studio OnClicklistener首先没有反应点击

时间:2014-08-06 14:36:05

标签: android android-studio onclicklistener

你好我的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;
            }
        }
    });

}

2 个答案:

答案 0 :(得分:0)

你做错了。您已经在xml中定义了onClick。您不必在KlickNo函数内部创建onclick侦听器。只需编写您要执行的代码,即从KickNo中删除BUTTON DECLARATION和onclicklistener

答案 1 :(得分:0)

您在此代码中执行的操作是首先通过xml设置onClickListener以运行方法void KlickNo (View view)

然后通过设置new OnClickListener(){ blah,blah}替换之前的设置

来取消所有这些操作

您必须使用其中一个。 KlickNo方法由xml OnCLickListener设置的OnClick调用,所以直接在那里做你的东西并删除.setOnClickListener(.....)声明