Android 未显示ListView项目

Android 未显示ListView项目,android,listview,android-alertdialog,customdialog,Android,Listview,Android Alertdialog,Customdialog,我在自定义对话框中有一个ListView 当我运行应用程序时,该视图显示了阵列适配器中项目的正确行数 但是,显示的行是空白的 我曾尝试将ListView中的文本颜色设置为黑色,但没有效果 android:textColor="#000000" android:textSize="20sp" android:textStyle="bold" 如果向视图中添加十个项目,则会显示十个空行。 我在布局中添加了一个文本视图,可以正确显示 XML: 我的代码: public c

我在自定义对话框中有一个ListView

当我运行应用程序时,该视图显示了阵列适配器中项目的正确行数

但是,显示的行是空白的

我曾尝试将ListView中的文本颜色设置为黑色,但没有效果

    android:textColor="#000000"
    android:textSize="20sp"
    android:textStyle="bold"
如果向视图中添加十个项目,则会显示十个空行。 我在布局中添加了一个文本视图,可以正确显示

XML:


我的代码:

public class CustomDialog extends DialogFragment   {

private ArrayAdapter<String> adapter ;

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    // Get the layout inflater
    LayoutInflater inflater = getActivity().getLayoutInflater();

    View dialogView =
    // Inflate and set the layout for the dialog
    // Pass null as the parent view because its going in the dialog layout
        inflater.inflate(R.layout.custom_dialog, null);


    ArrayList<String> listItems = new ArrayList<>();

    listItems.add("test list item");

    adapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), android.R.layout.simple_list_item_1, listItems);

    ListView listView = (ListView) dialogView.findViewById(R.id.listView);

    // Here, you set the data in your ListView
    listView.setAdapter(adapter);


    builder.setView(dialogView)
            // Add action buttons
            .setPositiveButton("Select", new ...                })
            .setNegativeButton("Cancel", new ...                });

    return builder.create();
}
public类CustomDialog扩展了DialogFragment{
专用阵列适配器;
@凌驾
创建对话框上的公共对话框(Bundle savedInstanceState){
AlertDialog.Builder=新建AlertDialog.Builder(getActivity());
//找到布局充气机
LayoutFlater充气机=getActivity().GetLayoutFlater();
查看对话框查看=
//充气并设置对话框的布局
//传递null作为父视图,因为它将在对话框布局中运行
充气器。充气(R.layout.custom_对话框,空);
ArrayList listItems=新的ArrayList();
列表项。添加(“测试列表项”);
adapter=new ArrayAdapter(getActivity().getApplicationContext(),android.R.layout.simple\u list\u item\u 1,listItems);
ListView ListView=(ListView)dialogView.findViewById(R.id.ListView);
//在这里,您可以在ListView中设置数据
setAdapter(适配器);
builder.setView(dialogView)
//添加操作按钮
.setPositiveButton(“选择”,新建…})
.setNegativeButton(“取消”,新建…});
返回builder.create();
}

在列表视图中设置textColor无效,您需要在传递给适配器的布局中的TextView中设置它。或者您可以更改对话框布局或对话框主题的背景色。

根据Crispert的回答,我添加了以下代码:

这是从另一个SO答案中发现的:

adapter=new ArrayAdapter(getActivity().getApplicationContext(),
android.R.layout.simple_list_item_1,listItems){
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图=super.getView(位置、转换视图、父级);
TextView TextView=(TextView)view.findViewById(android.R.id.text1);
/*你选择的颜色*/
textView.setTextColor(Color.BLUE);
返回视图;
}
};
public class CustomDialog extends DialogFragment   {

private ArrayAdapter<String> adapter ;

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    // Get the layout inflater
    LayoutInflater inflater = getActivity().getLayoutInflater();

    View dialogView =
    // Inflate and set the layout for the dialog
    // Pass null as the parent view because its going in the dialog layout
        inflater.inflate(R.layout.custom_dialog, null);


    ArrayList<String> listItems = new ArrayList<>();

    listItems.add("test list item");

    adapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), android.R.layout.simple_list_item_1, listItems);

    ListView listView = (ListView) dialogView.findViewById(R.id.listView);

    // Here, you set the data in your ListView
    listView.setAdapter(adapter);


    builder.setView(dialogView)
            // Add action buttons
            .setPositiveButton("Select", new ...                })
            .setNegativeButton("Cancel", new ...                });

    return builder.create();
}
        adapter=new ArrayAdapter<String>(getActivity().getApplicationContext(),
            android.R.layout.simple_list_item_1, listItems) {

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view =super.getView(position, convertView, parent);

            TextView textView=(TextView) view.findViewById(android.R.id.text1);

        /*YOUR CHOICE OF COLOR*/
            textView.setTextColor(Color.BLUE);

            return view;
        }
    };