Я использую GridView в своем app-widget. Я хочу установить текст по умолчанию для виджета приложения, когда нет данных. Я попытался использовать метод getLoadingView(), но он не работает.Как установить текст по умолчанию для виджета приложения, когда нет данных?
getLoadingViewMethod() из WidgetViewsFactory.java:
@Override
public RemoteViews getLoadingView() {
Log.e("textview is displayed","true");
RemoteViews row = new RemoteViews(mContext.getPackageName(), R.layout.widget_default_display);
row.setTextViewText(R.id.txt_default_widget,"DEFAULT TEXT");
return row;
}
widget_default_display.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="180dp">
<TextView
android:id="@+id/txt_default_widget"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/no_notifications"
android:textColor="@color/txt_sub_title_gray"
android:textSize="@dimen/txt_title_size"/>
</LinearLayout>
Пожалуйста, предложите мне какое-то решение.
Я думаю, что вы ищете метод 'RemoteViews # setEmptyView()', если я правильно вас пойму. Вы бы назвали это на основном 'RemoteViews' для вашего виджета. –
@MikeM., Я читал о setEmptyView(). Но я не понимаю, где именно назвать этот метод? – Shruti
В вашем «AppWidgetProvider», когда вы создаете «RemoteViews» с макетом с вашим «GridView». Вы бы назвали это на «RemoteViews». Вы захотите переместить 'txt_default_widget'' TextView' в этот макет тоже, кстати. –