我想实现一个自定义列表视图,其中包含用户在文本视图中输入的列表项数 谁能帮我?我不知道该怎么做。我找到了一个代码,在点击时添加项目我如何修改它以符合我的要求
答案 0 :(得分:0)
首先你需要为listView的每个项目做一个布局,将它命名为custom_listview_item
<?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">
<RelativeLayout
android:layout_width="150dp"
android:layout_height="150dp">
<TextView
android:id="@+id/lst_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"/>
<ImageView
android:id="@+id/lst_image"
android:layout_width="150dp"
android:layout_height="150dp"
android:src="@drawable/start"
android:layout_centerInParent="true" />
</RelativeLayout>
</LinearLayout>
然后在您的MainActivity中添加此
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context=this;
lv=(ListView) findViewById(R.id.listView);
lv.setAdapter(new CustomAdapter(this, R,Layout.custom_listview_item,prgmImages));
}
class CustomAdapter extends ArrayAdapter {
public CustomAdapter(Context context, int resource, Integer[] objects) {
super(context, resource, objects);
}
public View getView(final int position, View convertView, ViewGroup parent) {
convertView = ((Activity) getContext()).getLayoutInflater().inflate(R.layout.custom_listview_item, null);
ImageView img = (ImageView) convertView.findViewById(R.id.lst_image);
TextView tv = (TextView) convertView.findViewById(R.id.lst_label);
img.setImageResource((prgmImages[position]));
tv.setText(prgmNameList[position]));
return convertView;
}
}