[英]listview in dialougbox shows nothing
我有此代碼來顯示listview
中dialogbox
的幀listview
被示出,但不含任何文本(ⅰ具有背景顏色的listview
)
public void shw(View view)
{
Dialog dialog=new Dialog(MainActivity.this);
dialog.setTitle("Dialog Title");
dialog.setContentView(R.layout.custadd);
LayoutInflater inflater = getLayoutInflater();
View convertView = (View) inflater.inflate(R.layout.custadd,null);
ListView lv=(ListView) convertView.findViewById(R.id.listv);
String s1[]={"sunday","monday","tuesday"};
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
this,
R.layout.simple_list_item, s1 );
lv.setAdapter(arrayAdapter);
dialog.show();
}
嘗試這個
public void shw(View view) {
Dialog dialog=new Dialog(MainActivity.this);
dialog.setTitle("Dialog Title");
dialog.setContentView(R.layout.custadd);
ListView lv=(ListView) dialog.findViewById(R.id.listv);
String s1[]={"sunday","monday","tuesday"};
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1, s1 );
lv.setAdapter(arrayAdapter);
dialog.show();
}
是的,因為您顯示的ListView
視圖不是您為Dialog
設置的視圖。 您應按以下步驟修復:
Dialog dialog=new Dialog(MainActivity.this);
dialog.setTitle("Dialog Title");
LayoutInflater inflater = getLayoutInflater();
View convertView = (View) inflater.inflate(R.layout.custadd,null );
dialog.setContentView(convertView); // set convertView as content view.
// you can find listview and then fill data here
刪除dialog.setContentView(R.layout.custadd);
並在對話框膨脹時設置對話框的視圖dialog.setContentView(convertView);
問題將得到解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.