Как заставить кнопку нажать один раз, а потом уже не нажимать? - PullRequest
2 голосов
/ 05 февраля 2012

У меня есть кнопка

    <Button 
    android:layout_above="@id/choice2"
    android:layout_centerHorizontal="true"
    android:textColor="#FFFF00"
    android:textSize="25sp"
    android:gravity="center"
    android:background="@drawable/loginbutton"
    android:layout_height="30dp"
    android:layout_width="fill_parent"
    android:layout_marginBottom="15dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:text="@string/q1a1"
    android:id="@+id/choice1">
</Button>

, и когда вы нажимаете эту кнопку, она добавляет 10 к счетчику / счетчику.Как сделать так, чтобы эту кнопку можно было нажать один раз, но после этого не нажимать снова?Пользователи могут обманывать и нажимать кнопку несколько раз, чтобы добавить больше очков.

Ответы [ 3 ]

9 голосов
/ 05 февраля 2012

в вашем onCreate методе, сделайте это так:

    final Button choice1 = (Button) findViewById(R.id.choice1);
    choice1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            choice1.setEnabled(false);
        }
    });
3 голосов
/ 05 февраля 2012

Вы можете скрыть или отключить его

Button mybutton;

    mybutton.setVisibility(View.GONE); // hide it
    mybutton.setClickable(false); // disable the ability to click it
0 голосов
/ 05 февраля 2012

Отключить кнопку при ее нажатии (в коде, который также обрабатывает «нормальное» действие кнопки).

...