我有以下问题。如果搜索列表为空,我想设置TextView
。我在onCreateView
:
View view = inflater.inflate(R.layout.fragment_list, container, false);
View empty = view.findViewById(R.id.fragment_list_empty);
this.mList.setEmptyView(empty);
我有很多Fragments
我必须在其中添加EmptyView
,但有没有办法避免在每个.xml中添加相同的代码(下面)片段:
<TextView
android:id="@+id/fragment_list_empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/empty_list"
android:textColor="@color/main_white"/>
答案 0 :(得分:1)
您可以在片段容器上方的中心的MainActivity中添加视图。
//MainActivity
private TextView tvEmpty;
public void onCreate(...){
this.tvEmpty = (TextView) findViewById(R.id.NameOfEmptyTV);
}
public View getEmptyTv(){
return this.tvEmpty;
}
//FRAGMENT
public View onCreateView(...){
this.mList.setEmptyView(((MainActivity)getActivity()).getEmptyTv());
}
或者你可以创建自己的扩展片段,它已经实现了这样的方法