具有动态列表项Android的自定义列表视图

时间:2015-10-18 16:36:28

标签: android listview dynamic

我想实现一个自定义列表视图,其中包含用户在文本视图中输入的列表项数 谁能帮我?我不知道该怎么做。我找到了一个代码,在点击时添加项目我如何修改它以符合我的要求

1 个答案:

答案 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;
    }
}