Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 视图为空_Android_View_Inflate_Divider - Fatal编程技术网

Android 视图为空

Android 视图为空,android,view,inflate,divider,Android,View,Inflate,Divider,我试图在垂直线性布局中的条目之间添加分隔符,以模拟ListView的外观。(在这种特殊情况下,我不能只使用ListView。) 这是我在list_divider.xml中看到的内容: <?xml version="1.0" encoding="utf-8"?> <View xmlns:android="http://schemas.android.com/apk/res/android" android:background="@color/panel_border"

我试图在垂直线性布局中的条目之间添加分隔符,以模拟ListView的外观。(在这种特殊情况下,我不能只使用ListView。)

这是我在list_divider.xml中看到的内容:

<?xml version="1.0" encoding="utf-8"?>
<View
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:background="@color/panel_border"
  android:layout_width="fill_parent"
  android:layout_height="@dimen/border_width"
 />

下面的代码试图在列表中除第一个元素外的每个元素之前将此分隔符充气:

LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for (int i = 0; i < categories.size(); i++ ) {

    if (i > 0)
        items.addView(vi.inflate(R.layout.list_divider, null));    
        // these dividers never appear

    // but these main entries always appear just fine    
    items.addView(ad.getView(i, null, null));
}
LayoutInflater vi=(LayoutInflater)getSystemService(Context.LAYOUT\u INFLATER\u SERVICE);
对于(int i=0;i0)
items.addView(vi.充气(R.布局.列表分隔符,空));
//这些分隔符从未出现过
//但这些主要条目看起来总是很好
items.addView(ad.getView(i,null,null));
}
主列表项显示正确,但分隔符不可见

如果我将分隔符更改为文本视图而不是普通视图,则会显示分隔符:

<?xml version="1.0" encoding="utf-8"?>
<TextView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:background="@color/panel_border"
  android:layout_width="fill_parent"
  android:layout_height="@dimen/border_width"
  android:text="---"
 />

我尝试过为宽度和高度设置显式像素值,以及使用边框宽度定义和填充父选项。这没什么区别


一个普通的旧视图有什么特别的地方使它不出现吗?

我最终通过在FrameLayout中包装分隔器视图来解决这个问题。似乎只有一个没有内容的空视图是行不通的

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content">

  <View
    android:background="@color/panel_border"
    android:layout_width="fill_parent"
    android:layout_height="@dimen/border_width" />

</FrameLayout>