Android, если кнопка может быть нажата, чтобы изменить текст на кнопке, которая - PullRequest
1 голос
/ 09 марта 2012

Мне сложно зациклить на кнопке условия нажатия.Я хочу, чтобы на кнопку можно было нажимать несколько раз, и текст менялся произвольно.

что мне добавить?

private String[] myString; 
private static final Random rgenerator = new Random();

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.next);
    Resources res = getResources();

    myString = res.getStringArray(R.array.myArray); 

    final String q = myString[rgenerator.nextInt(myString.length)];


    Button btn2;
    btn2 = (Button)findViewById(R.id.button3);
    btn2.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {


            ((Button) v).setText(q);



        }

    });

}}

Ответы [ 2 ]

1 голос
/ 09 марта 2012

// njzk2 ответ правильный попробуйте это

    Button btn2;
    btn2 = (Button)findViewById(R.id.button3);
    btn2.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {

   String q = myString[rgenerator.nextInt(myString.length)];
            ((Button) v).setText(q);



        }

    });
1 голос
/ 09 марта 2012

Ваша строка q инициализируется в onCreate, который вызывается только при запуске.

Вы должны переместить это в вашем onClick методе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...