сравнивая текст в массиве кнопок со строковым массивом, неспособным выполнить onclick в андроиде - PullRequest
0 голосов
/ 24 февраля 2012

Привет, я делаю одно приложение здесь, когда я нажимаю кнопку, мне нужно отключить значения от a до z в одном текстовом просмотре radomly.in textview каждый раз, когда мне нужно отобразить только одно значение. Поэтому, используя один массив строк, я отображаю в текстовое представление одно значение. и применение случайного веселья, и это работает отлично. тогда на той же странице, в другом месте, мне нужно отобразить некоторые кнопки, такие как a, b, c .... z. используя массив строк anthoer, я отобразил эти кнопки. Но проблема в том, когда я нажимаю кнопку «a», это означает, что мне нужно сравнить значение кнопки со значением textview, теперь в первой кнопке «a» есть то, что в textview также «a» означает, что мне нужно выполнить какое-то действие, например кнопка должна быть выделена Значения .button и textview not equles означают, что мне ничего не нужно выполнять. я использую приведенный ниже код, но я не получаю. Пожалуйста, можете ли вы мне предложить ...

   ButtonList .class:

        public class ButtonList extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
     private static final Random rgenerator = new Random();
         String[] dishes = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j"};
      String[] dishes1 = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j"};
       String q = dishes1[rgenerator.nextInt(dishes1.length)];
            LinearLayout linear;
         TableLayout table;
       int dishQuantity =10;
       TextView text1;
          Button[] plus = new Button[dishQuantity];
          TableRow[] row = new TableRow[dishQuantity];
           String s1,s2;
          @Override
         public void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
                linear = new LinearLayout(this);
              text1 =new TextView(this);
         text1.setText(q);
                s1=text1.getText().toString();
                  table = new TableLayout(this);
                         linear.setOrientation(LinearLayout.HORIZONTAL);
                      for (int i=0; i<dishQuantity; i++) {
                      row[i] = new TableRow(this);
               plus[i] = new Button(this); 
                         plus[i].setText(dishes[i]);
                          plus[i].setOnClickListener(this);
                      row[i].addView(plus[i]);
                           table.addView(row[i],60,30);
                        s2=plus[i].getText().toString();
                }
                        linear.addView(table);
                    linear.addView(text1); 
                          setContentView(linear);
          }
              public void onClick(View v) {
                // TODO Auto-generated method stub
                     if (s1.equals(s2)) {

                         ((Button) v).setEnabled(false);
                          }

                 }
              }

1 Ответ

0 голосов
/ 24 февраля 2012

Хорошо, если вы получаете текст из текстового представления и нажимаете кнопку при нажатии кнопки,

public void onClick(View v) {
                // TODO Auto-generated method stub
s2 = ((Button) v).getText().toString();
s1 = text1.getText().toString();

if (s1.equals(s2)) {
    ((Button) v).setEnabled(false);
    }
   }

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