对话框中的列表视图不显示任何内容
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();
}
是的,因为您显示的视图 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
试试这个
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();
}
删除 dialog.setContentView(R.layout.custadd);
并设置对话框在膨胀时的视图 dialog.setContentView(convertView);
问题将得到解决。
我有这段代码可以在 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();
}
是的,因为您显示的视图 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
试试这个
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();
}
删除 dialog.setContentView(R.layout.custadd);
并设置对话框在膨胀时的视图 dialog.setContentView(convertView);
问题将得到解决。