如何在listview中显示30行,我需要显示不同的视图

时间:2015-07-08 06:42:38

标签: android listview android-listview

如何在listview中以不同的视图显示30行我需要显示1 4 7 10 13 ....... textview 2 5 8 11 14 ....... edittext view 3 6 9 12 15。 ........图像视图

此处代码出现错误

public View getView(int position, View v, ViewGroup parent) {
    if(position==0){
        v=getLayoutInflater().inflate(R.layout.secondactvity, null);
        TextView t1=(TextView)v.findViewById(R.id.textView1);
        t1.setText(names[position]);
        Log.d("View Number", position+"");
    }
    else if(position==1){
        v=Inflater.
        Log.d("View Number", position+"");
        EditText e1=(EditText)v.findViewById(R.id.editText1);
    }
    else if(position==2){
        v=getLayoutInflater().inflate(R.layout.thirdactivty, null);
        ImageView im1=(ImageView)v.findViewById(R.id.imageView1);
        im1.setImageResource(img[position]);
        Log.d("View Number", position+"");
    }

1 个答案:

答案 0 :(得分:1)

您有两种解决方案可以成功显示不同的行。

第一个是,像@Jignesh Jain建议的那样,有一个包含所有类型视图的布局,并在每行不需要的视图上使用setVisibility(View.GONE)

第二个(我认为更好)是通过实施getViewTypeCount()getItemViewType(int position)来使用不同的视图类型。使用此to方法,getView中的convertView将始终为良好类型(如果不为null),并且可以像往常一样重用。