2014-06-11 29 views
-1

我是新來的android編程。這是我的代碼。請幫助。如何在listview爲空時顯示消息?

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) 
      { 

     ListView view = (ListView) inflater.inflate(R.layout.fragment_alarms,container, false); 
     String[] titles = getResources().getStringArray(R.array.drawer_menu_list); 
     view.setAdapter(new ArrayAdapter<String>(getActivity(), 
       R.layout.drawer_list_item, titles)); 
     view.setAdapter(mAdapter.setCurrentSeverityAlarm(0)); 
     mListView = view; 
     mAdapter.refresh(mSpinnerAdapter); 
     return view; 
     } 

xml文件

<ListView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/list_alarms" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/alarm_list_vertical_margin" 
android:paddingLeft="@dimen/alarm_list_horizontal_margin" 
android:paddingRight="@dimen/alarm_list_horizontal_margin" 
android:paddingTop="@dimen/alarm_list_vertical_margin" 
android:divider="@android:color/transparent" 
android:dividerHeight="@dimen/alarm_list_divider_height" 
android:scrollbars="none"> 
</ListView> 
+0

[如何在android中列表視圖爲空時顯示消息]可能的重複(http://stackoverflow.com/questions/3199904/how-to-display-a-message-when-the-list-視圖是空的在Android) – matiash

回答

3

ListView中具有setEmptyView(View)方法。如果您的列表爲空,則您傳入此方法的視圖將自動顯示。

最簡單的方法是在佈局中包含空白的視圖。您的XML和Java最終將看起來像這樣:

XML

<ListView ... /> 

<TextView 
    android:id="@+id/empty_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Nothing to show" /> 

的Java

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View layout = inflater.inflate(R.layout.fragment_alarms,container, false); 
    ListView view = (ListView) layout.findViewById(R.id.list_arlams); 
    View emptyView = layout.findViewById(R.id.empty_view); 

    // ... 

    view.setEmptyView(emptyView); 

    return layout; 
} 

你當然也可以以編程方式創建一個視圖,如果你想保持它不在你的XML中,或者你可以爲你的空視圖使用一個單獨的佈局文件。

+0

如何使用一個單獨的佈局文件爲空視圖?如何將其整合到程序中? – user3731480

+0

您可以使用相同的充氣器充氣第二個佈局。它看起來像這樣:'View emptyView = inflater.inflate(R.layout.my_empty_view,container,false);' –

+0

View layout = inflater.inflate(R.layout.fragment_alarms,container,false); ListView view =(ListView)layout.findViewById(R.id.list_alarms);查看emptyView = inflater.inflate(R.layout.emptyview,container,false); view.setEmptyView(emptyView); String [] titles = getResources()。getStringArray(R.array.drawer_menu_list); view.setAdapter(new ArrayAdapter (getActivity(),R.layout.drawer_list_item,titles)); view.setAdapter(mAdapter.setCurrentSeverityAlarm(0)); mListView = view; mAdapter.refresh(mSpinnerAdapter);返回佈局; – user3731480

相關問題