我尝试实现非常简单的BaseAdapter
。
但是,这些项目不会显示在列表中,列表行似乎很薄,因此无法显示任何内容。
我的代码如下所示。
的活动:
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
ListView listView = (ListView) findViewById(android.R.id.list);
listView.setAdapter(new BaseAdapter() {
String[] list = new String[] {"Spot", "Stripe"};
@Override
public int getCount() {
return list.length;
}
@Override
public Object getItem(int position) {
return list[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = getLayoutInflater().inflate(R.layout.item, null);
}
TextView text1 = (TextView) convertView.findViewById(R.id.text_left);
TextView text2 = (TextView) convertView.findViewById(R.id.text_right);
text1.setText("Name");
text2.setText(getItem(position).toString());
return convertView;
}
});
}
}
活动布局(activity_my.xml):
<LinearLayout 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"
android:orientation="vertical"
tools:context=".MyActivity">
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
ListView项目布局(item.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/text_left"
android:textAppearance="?android:attr/textAppearance"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<View android:layout_width="20dp"
android:layout_height="1dp"/>
<TextView
android:id="@+id/text_right"
android:textAppearance="?android:attr/textAppearance"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</LinearLayout>
修改
如果我将LinearLayout
的方向更改为&#34; vertical&#34;在item.xml中,该项目出现。
有人可以解释为什么我将方向设置为&#34;水平&#34;这排似乎很薄?
答案 0 :(得分:0)
我发现了自己的错误。我在item.xml中为layout_height="1dp"
设置View
,在TextView
之间放置一个空格。使行的高度非常薄。所以我无法在ListView中看到任何内容。如果我改为&#34; match_parent&#34;与其他两个TextView
的layout_height一样,它解决了这个问题。