如何在沒有列表視圖項目時顯示空列表視圖的警報對話框。請找到下面有三個文本字段的圖像。當列表中沒有記錄/不匹配記錄時,我必須實現空列表視圖。Android - 用於顯示空白列表視圖的顯示警報對話框
列表視圖實現如下:
ListView empListView;
empListView = (ListView)findViewById(R.id.list1);
我,以示對empListView警告對話框。請幫我拿個樣品碼/鏈接。
如何在沒有列表視圖項目時顯示空列表視圖的警報對話框。請找到下面有三個文本字段的圖像。當列表中沒有記錄/不匹配記錄時,我必須實現空列表視圖。Android - 用於顯示空白列表視圖的顯示警報對話框
列表視圖實現如下:
ListView empListView;
empListView = (ListView)findViewById(R.id.list1);
我,以示對empListView警告對話框。請幫我拿個樣品碼/鏈接。
這一切都取決於你如何實現setAdapter方法等,但這裏有一個例子:
if(cdata.getCount()==0) {
//empty, show alertDialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Search is empty")
.setCancelable(true)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
}
else {
//Not empty, set the adapter or do what you want.
empListview.setAdapter(new MyCursorAdapter(getApplicationContext(), R.layout.listview, cdata, fields, names));
}
上面還沒有的代碼進行了測試。但應該稍作調整,我可能已經忘記了一些事情。
+1,謝謝,它的工作... –
我認爲你是在setadapter方法中壓縮arraylist或其他數據如果你正在使用arraylist,那麼你必須在調用setadapter方法之前檢查arraylist的大小。
是的,我傳遞數組列表中的set adapter方法。當數組列表爲空時,請幫助我提供有關如何顯示警報對話框的示例代碼。 –
if(a.size()> 0) \t \t { \t \t lv =(ListView)findViewById(R.id.frendlist); \t \t lv.setAdapter(new ListAdapter(this,R.id.frendlist,a)); \t \t} \t \t其他 \t \t { \t \t \t builder.setMessage( 「你有沒有朋友」) \t \t \t。setCancelable(假) \t \t \t .setPositiveButton( 「OK」,新DialogInterface.OnClickListener() \t \t \t { \t \t \t \t公共無效的onClick(DialogInterface對話框,INT ID) \t \t \t \t { \t \t \t \t \t \t \t \t \t} \t \t \t \t}); \t \t \t \t \t \t \t AlertDialog警報= builder.create(); \t \t \t alert.show(); \t} – Gensheriff
謝謝,Gensheriff –
if(cdata.getCount()>0)
{
CursorAdapter adapter = new MyCursorAdapter(getApplicationContext(), R.layout.listview, cdata, fields, names);
listview.setAdapter(adapter);
}
else
{
//create dialog here
}
根據我的意見,不需要檢查arraylist或適配器項目數量的大小。
而不是顯示警報對話框,您可以在列表視圖上顯示消息「對不起找不到記錄」消息。同樣你必須使用ListView的setEmptyView()
方法來設置空視圖。
例如:
listViewFriends.setEmptyView(findViewById(R.id.empty));
+1,是的,它的工作... –
@avadhani是親愛的,還要別的嗎。 –
你能幫我用數據庫查詢的特殊字符記錄進行搜索嗎? –
我想你paasing的ArrayList或者setadapter方法一些其他的數據,如果你正在使用ArrayList的,那麼你必須調用setadapter方法之前檢查的ArrayList該大小。
if(a.size()>0)
{
lv = (ListView) findViewById(R.id.frendlist);
lv.setAdapter(new ListAdapter(this, R.id.frendlist, a));
}
else
{
builder.setMessage(" You Have no friends")
.setCancelable(false)
.setPositiveButton("Ok", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
}
}) ;
AlertDialog alert = builder.create();
alert.show();
}
你以前試過什麼,你有什麼特別的問題嗎?一般來說,這有助於告訴我們你面臨的問題,這樣我們可以指導你解決問題,下次你就會知道如何自己解決問題。 –
你怎麼設置適配器,顯示代碼..' –
'CursorAdapter adaptr = new MyCursorAdapter(getApplicationContext(),R.layout.listview,cdata,fields,names);'其中** cdata **是一個返回值的遊標來自查詢,**領域**是列表視圖實體和**名稱**是存儲列表視圖項目的數組。 –