gpt4 book ai didi

java - AdapterView 不支持 addView(View, LayoutParams)(不在 ListView 标签内添加内容)

转载 作者:行者123 更新时间:2023-11-29 20:11:50 29 4
gpt4 key购买 nike

当我使用 ListView 并编写适配器扩展 BaseAdapter 时出现此错误。而且我确定我没有在 ListView 标记中添加任何东西。

这是我的 main_layout.xml

 <LinearLayout
android:id="@+id/layout_map"
android:layout_width="match_parent"
android:layout_height="1200px"
android:layout_below="@+id/toolbar"
android:orientation="horizontal">
<org.osmdroid.views.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"

android:clickable="true"/>
</LinearLayout>
<LinearLayout
android:id="@+id/layout_lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/layout_map"
android:clickable="true"
android:orientation="vertical">

<ListView
android:id="@+id/lv_stops"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:clickable="true"></ListView>
</LinearLayout>

这是我的 list_item.xml

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

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<LinearLayout
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="fill_parent">
<ImageView
android:id="@+id/stopImage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>

</LinearLayout>
<LinearLayout
android:layout_weight="5"
android:layout_width="0dp"
android:orientation="vertical"
android:layout_height="fill_parent">

<TextView
android:id="@+id/stop_name_item"
android:layout_width="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:layout_height="fill_parent" />

<TextView
android:id="@+id/stop_info_item"
android:layout_width="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:layout_height="fill_parent" />


</LinearLayout>


</LinearLayout>
</ListView>

这是我的适配器

public class MainActivityStopAdapter extends BaseAdapter {
private Context mContext;
private ArrayList<Stop> stopList = null;

public MainActivityStopAdapter(Context mContext, ArrayList<Stop> mList) {
this.mContext = mContext;
this.stopList = mList;
}

public int getCount() {
return stopList.size();
}

public Object getItem(int pos){
return stopList.get(pos);
}

public long getItemId(int pos){
return pos;
}

public View getView(final int pos, View convertView, ViewGroup p){
final ViewHolder viewHolder;
if(convertView == null){
convertView = LayoutInflater.from(mContext).inflate(R.layout.stop_list_item,null);
viewHolder = new ViewHolder();
viewHolder.stopImage = (ImageView)convertView.findViewById(R.id.stopImage);
viewHolder.stopName = (TextView)convertView.findViewById(R.id.stop_name_item);
viewHolder.stopInfo = (TextView)convertView.findViewById(R.id.stop_info_item);

convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) convertView.getTag();
}

viewHolder.stopImage.setImageResource(R.drawable.ic_bus_stop);
viewHolder.stopName.setText(stopList.get(pos).getName());
viewHolder.stopInfo.setText(stopList.get(pos).getId());
return convertView;
}

public static class ViewHolder{
public ImageView stopImage;
public TextView stopName;
public TextView stopInfo;
}
}

最佳答案

删除 list_item 布局中的 ListView 根元素。子 LinearLayout 足以作为布局中的根元素。

ListView 不应该在 XML 中声明子级,并且将 ListView 放在 ListView 行项目中无论如何都是没有意义的。

关于java - AdapterView 不支持 addView(View, LayoutParams)(不在 ListView 标签内添加内容),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34665298/

29 4 0