我有一个textView,editText和listView。我想将textView和editText命令彼此相邻,因此也就是LinearLayout。另外,在它们下面创建一个listView。这是XML。
不幸的是,listView没有显示出来。我确保我使用的ArrayList不是空的。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:gravity="center"
android:background ="#268496" >
<LinearLayout android:id="@+id/linear"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/prefixText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:textIsSelectable="true"
android:textSize="12pt"
android:typeface="sans" />
<EditText
android:focusable="true"
android:focusableInTouchMode="true"
android:id="@+id/input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="text"
android:textSize="12pt"
android:maxLength="1"
android:typeface="sans" />
</LinearLayout>
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/linear"
android:layout_marginBottom="10dp"
android:layout_marginTop="5dp"
android:divider="#CCCCCC"
android:dividerHeight="1dp"
android:paddingLeft="2dp" >
</ListView>
</RelativeLayout>
创建列表:
public void listView (){
ListView lv;
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.listView);
ArrayList<String> your_array_list = new ArrayList<String>();
your_array_list.add("foo");
your_array_list.add("bar");
ArrayAdapter<String> arrayAdapter =
new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, your_array_list);
lv.setAdapter(arrayAdapter);
}
答案 0 :(得分:4)
您的线性布局高度为match_parent,将其更改为wrap_content
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:gravity="center"
android:background ="#268496" >
<LinearLayout android:id="@+id/linear"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/prefixText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:textIsSelectable="true"
android:textSize="12pt"
android:typeface="sans" />
<EditText
android:focusable="true"
android:focusableInTouchMode="true"
android:id="@+id/input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="text"
android:textSize="12pt"
android:maxLength="1"
android:typeface="sans" />
</LinearLayout>
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/linear"
android:layout_marginBottom="10dp"
android:layout_marginTop="5dp"
android:divider="#CCCCCC"
android:dividerHeight="1dp"
android:paddingLeft="2dp" >
</ListView>
</RelativeLayout>
答案 1 :(得分:2)
而不是match_parent用于LinearLayout
使用wrap_content
android:layout_height="wrap_content"
。
答案 2 :(得分:0)
因为您的LinearLayout
拥有android:layout_height="match_parent"
,这意味着它将拥有完整的高度,并且不会为ListView留出空间。
因此请将其替换为wrap_content
。