Добавить несколько видов в виджет - PullRequest
0 голосов
/ 24 февраля 2012

Можно ли добавить более одного представления в виджет?

Я хочу создать виджет, который будет иметь несколько текстовых представлений, но я не знаю, сколько, пока не будет выполнено обновление, поэтому яне могу поместить все это в один и тот же формат XML.Поскольку я не хочу использовать listView, потому что я не хочу переходить на уровень API 3, я пытаюсь это сделать!

Я публикую свой код, хотя я считаю, что это бесполезно!

    @Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
        int[] appWidgetIds) {
    thisWidget = new ComponentName(context, Widget.class);
    DataBaseAccess ddbb = new DataBaseAccess();
    String query = "SELECT * FROM object where app = 'jhgf' and type = 1";
    String resp = ddbb.execute(query, "name-prevnivMax-prevNivAlarm");
    String[] response = resp.split("&-");
    RemoteViews[] lv = new RemoteViews[response.length];
    RemoteViews ll = new RemoteViews(context.getPackageName(), R.layout.widget);
    for (int i = 0; i < response.length; i++) {
        lv[i] = new RemoteViews(context.getPackageName(), R.layout.widgetlistitem);
        //Some downloads from data base
        lv[i].setTextViewText(R.id.text2,response[i].split("&")[0]);
        ll.addView(R.id.wid, lv[i]);
    }
    appWidgetManager.updateAppWidget(thisWidget, ll);

}

ll должен быть родительским макетом, а lv дочерними.

Спасибо!

Примечание. Код показывает первое представление, которое я добавляю в ll remoteview.Не следующие!

Макет виджета:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:id="@+id/wid">

и макет, который я хочу добавить в качестве вида:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >

<TextView
    android:id="@+id/text2"
    android:layout_width="wrap_content"
    android:layout_height="20dp"
    android:layout_gravity="left"
    android:layout_marginLeft="2dp"
    android:gravity="center|left"
    android:textStyle="bold"
    android:typeface="sans" >
</TextView>

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