Первая кнопка Android GridView не работает ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Первая кнопка Android GridView не работает

Сообщение Anonymous »

У меня возникли странные проблемы с Android GridView. Я создаю сетку 3x4 и вставляю в нее кнопки. Я хочу, чтобы фон кнопки менялся, когда пользователь нажимает эту кнопку. И это работает нормально для всех кнопок, кроме первой (той, что с индексом 0 — вверху слева). Прослушиватель событий OnClick вообще не срабатывает для этой кнопки, что бы я ни делал.

Вот код, в котором я создаю представление:

Код: Выделить всё

public View getView(int position, View convertView, ViewGroup parent) {
Button imageView;

if (convertView == null) {  // if it's not recycled, initialize some attributes
Log.w("NOVO", "narejena nova celica");
imageView = new Button(mContext);

imageView.setPadding(8, 8, 8, 8);
} else {
Log.w("STARO", "stara celica");
imageView = (Button) convertView;
}

imageView.setEnabled(true);

int visina = parent.getHeight();
int sirina = parent.getWidth();

float dip = mContext.getResources().getDisplayMetrics().density;
float margin = 10*dip;

int view_height = (int)(visina - 3*margin)/4;
int view_width = (int)(sirina - 2*margin)/3;

int view_dim = 0;
if (view_height = 2)
return;

odkrit = true;
buttonsVisible++;
tim = new Timer();
tim.schedule(new timerDone(), millis);

((Activity)con).runOnUiThread(new Runnable() {
@Override
public void run() {
but.setBackground(slikca2);
}
});

}

void setButton(Button b) {
but = b;

((Activity)con).runOnUiThread(new Runnable() {
@Override
public void run() {
but.setBackground(slikca1);
}
});
}

class timerDone extends TimerTask {

@Override
public void run() {
if (!najden) {
odkrit = false;

((Activity)con).runOnUiThread(new Runnable() {
@Override
public void run() {
but.setBackground(slikca1);
}
});
}

buttonsVisible--;
tim.cancel();
}

}

@Override
public void onClick(View v) {
celicaVisible(4000);
}


Подробнее здесь: https://stackoverflow.com/questions/204 ... ot-working

Вернуться в «Android»