Передача правильной информации в диалог - PullRequest
0 голосов
/ 05 июля 2011

Я смотрю на создание Dialog с bundle of data.Это все работает правильно.У меня есть номер buttons при нажатии открывает dialog с данными и затем может быть обновлен.

У меня проблема в том, что не имеет значения, какую кнопку я нажимаю на пачке, это только данные дляпоследний рядЛюбые идеи по получению правильных данных передаются в Dialog для каждой кнопки.

Я размышлял над строкой установки идентификатора для каждого представления, когда я проходил через цикл, но не знал, как вызвать его снова

Код:

for (int i = 0; i < nameInfo.size(); i++) {
            // creating the views
            View viewItem = (View) inflater.inflate(R.layout.view_item, null);
            nameView = (TextView) viewItem.findViewById(R.id.title);
            nameView.setId(i);
            value1View = (TextView) viewItem.findViewById(R.id.value1);
            value1View.setId(i);
            value2View = (TextView) viewItem.findViewById(R.id.value2);
            value2View.setId(i);

            updateButton = (Button) sightmarkView.findViewById(R.id.updatebutton);
            updateButton.setId(i);
            // Getting the values
            nameValue = nameInfo.get(i).toString();
            value1 = db.getvalue1('1', nameInfo.get(i).toString());
            value2 = db.getvalue2('2', nameInfo.get(i).toString());
            // update fields
            nameView.setText(nameValue);
            value1View.setText(String.valueOf(value1));
            value2View.setText(String.valueOf(value2));

            updateButton.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {


                    int updateButtonId = updateButton.getId();

                                bundle = new Bundle();
                                bundle.putString("name", nameValue);
                            bundle.putFloat("value1", value1);
                                bundle.putFloat("value2", value2);

                                showDialog(SIGHTMARK_DIALOG_ID, bundle);

                }
            });
        pMainlayout.addView(viewItem);
}

Спасибо за ваше время

1 Ответ

0 голосов
/ 05 июля 2011

В каждом цикле (из for) вы переопределяете значения nameValue, value1 и value2.

Чтобы исправить проблему, просто измените свой код, чтобы он соответствовал этому:

// Getting the values
final String nameValue = nameInfo.get(i).toString();
final String value1 = db.getvalue1('1', nameInfo.get(i).toString());
final String value2 = db.getvalue2('2', nameInfo.get(i).toString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...