首页 > 解决方案 > 在每个arraylist的一行中设置两个组件

问题描述

我正在做一个 ArrayList 练习。

我想做的是连续设置两件事。

例子

在此处输入图像描述

这是我得到它的工作

在此处输入图像描述

这是我的getView

public View getView(int position,View view,ViewGroup parent) {
    LayoutInflater inflater=context.getLayoutInflater();
    View rowView=inflater.inflate(R.layout.mylist, null,true);

    TextView txtTitle = (TextView) rowView.findViewById(R.id.item);
    ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
    TextView extratxt = (TextView) rowView.findViewById(R.id.textView1);

    TextView txtTitle2 = (TextView) rowView.findViewById(R.id.item2);
    ImageView imageView2 = (ImageView) rowView.findViewById(R.id.icon2);
    TextView extratxt2 = (TextView) rowView.findViewById(R.id.textView2);

    if(position<2){
        if(position==0){
            txtTitle.setText(itemname[0]);
            imageView.setImageResource(imgid[0]);
            extratxt.setText("95");

            txtTitle2.setText(itemname[1]);
            imageView2.setImageResource(imgid[1]);
            extratxt2.setTextColor(Color.RED );
            extratxt2.setText("116");
        }

        if(position==1){
            txtTitle.setText(itemname[2]);
            imageView.setImageResource(imgid[2]);
            extratxt.setText("94");
            txtTitle2.setText(itemname[3]);
            imageView2.setImageResource(imgid[3]);
            extratxt2.setTextColor(Color.RED );
            extratxt2.setText("121");
        }
    }
    return rowView;
};

主要活动

ListView list;
String[] itemname ={
        "Grizzlies",
        "Suprs",
        "Rockets",
        "Warriors"
};

Integer[] imgid={
        R.drawable.mem,
        R.drawable.sas,
        R.drawable.hou,
        R.drawable.gsw
};
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    CustomListAdapter adapter=new CustomListAdapter(this, itemname, imgid);

    list=getListView();
    list.setAdapter(adapter);
}

我的列表.xml

在此处输入图像描述

总共有四个列表,我不需要最后两个。我只能显示两个列表吗?

我知道这条路很奇怪,因为我真的不知道。

对不起我的英语不好。

标签: androidarraylist

解决方案


您可以控制行数来实现这一点,

@Override
public int getCount() {
   return 2;               // this will inflate only 2 item in your list
}

2替换为您想要膨胀的数字或长度或数组。


推荐阅读