Виджеты Android: как добавить виды в RemoteViews во время выполнения - PullRequest
8 голосов
/ 15 февраля 2012

Я хочу добавить текстовые представления, расположенные в линейном макете, к моему виджету во время выполнения. Я делаю следующее:

LinearLayout l = new LinearLayout(context);
for (int i = 0; i < 10; i++) {
    TextView t = new TextView(context);
    t.setText("Hello");
    l.addView(t);  }        
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
RemoteViews view = new RemoteViews (context.getPackageName(), l.getId());
views.addView(R.layout.main, view);

Но когда я добавляю виджет, у меня возникает проблема при загрузке виджета. Похоже, RemoteViews имеет проблему с получением идентификатора созданного представления в качестве параметра. Но я не могу сделать ссылку на ресурс XML, потому что они создаются во время выполнения. Как правильно заполнить RemoteViews с TextViews во время выполнения?

1 Ответ

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

Только удаленные ресурсы могут быть использованы в RemoteViews. Представления, созданные во время выполнения, должны основываться на предварительно определенных представлениях XML.

...