Можно ли добавить более одного представления в виджет?
Я хочу создать виджет, который будет иметь несколько текстовых представлений, но я не знаю, сколько, пока не будет выполнено обновление, поэтому яне могу поместить все это в один и тот же формат 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>