내 app-widget에서 GridView를 사용하고 있습니다. 데이터가 없을 때 app-widget에 기본 텍스트를 설정하고 싶습니다. getLoadingView() 메소드를 사용하여 시도했지만 작동하지 않습니다. WidgetViewsFactory.java의데이터가 없을 때 app 위젯에 기본 텍스트를 설정하는 방법은 무엇입니까?
getLoadingViewMethod() :
@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'에서,'GridView' 레이아웃을 가진'RemoteViews'를 생성 할 때. 당신은'RemoteViews'에서 호출 할 것입니다. 'txt_default_widget''TextView'도 그 레이아웃으로 옮기고 싶을 것입니다, btw. –