Получение ссылки на время выполнения для кнопки и текстового представления динамически в цикле for в Android - PullRequest
0 голосов
/ 18 января 2011

Я раздуваю пользовательское представление в операции Android динамически, используя цикл for.Представление содержит массив кнопок и массив текстового представления.При нажатии на кнопку открывается диалоговое окно выбора даты, которое было зарегистрировано для кнопки при прослушивании щелчка.Я хочу установить дату в текстовом представлении, соответствующую кнопке, на которую нажали.Пожалуйста, предложите мне какое-то решение, это очень срочно.Я не могу получить ссылку на время выполнения текстового представления, которое должно быть обновлено после установки диалогового окна выбора даты.

1 Ответ

0 голосов
/ 18 января 2011

Хорошо, я понимаю, что кнопки и текстовые представления должны быть как-то связаны, верно? Итак, как насчет расширения класса Button (скажем, вы называете его ButtonWithTextView) и включения ссылки на TextView, который вы хотите связать с этой кнопкой. Поэтому каждый раз, когда вы запускаете прослушиватель View.onClick, вы сможете приводить View к своему классу и извлекать эту ссылку TextView.

Пример:

class ButtonWithTextView extends Button {
    TextView tv;
    ButtonWithTextView(Context c, TextView tv) {
        super(c);
        this.tv = tv;
    }

    TextView getAssociatedTextView() {
        return tv;
    }
}

.
.
.

//somewhere in your code

TextView tv1 = new TextView(context);
ButtonWithTextView button1 = new ButtonWithTextView(context, tv1);
button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        ButtonWithTextView button = (ButtonWithTextView)v;
        TextView associatedTextView = button.getAssociatedTextView();
        .
        .
        .
    }
});
...