每个行都有不同内容的Android Listview

时间:2016-05-16 16:41:26

标签: android sqlite listview

我试图将我的iOS应用移植到Android。

我有一个带有朋友列表(名称和姓氏)的ListView。所有行都具有相同的布局。 当我点击一行时,我将活动切换为朋友详细信息。

使用iOS我使用tableview(ListView),我在其中设置行数,如果row == 0,则执行此操作,否则如果row == 1执行该操作等等。

我从sqlite数据库中获取朋友详细信息,该数据库只返回1条记录,即:姓名,姓氏,年龄,性别,地址,爱好等等。

我的详细资料列表视图应该只有5行,如果行== 0,则为布局"名称"对于name和lastname有2个textview,如果row == 1 inflate layout" address"对地址,城市和国家等有3个textview

在我的适配器中,我实现了:

   @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);
        LayoutInflater inflater = (LayoutInflater) mcontext.getSystemService(mcontext.LAYOUT_INFLATER_SERVICE);
        if (position  == 0) {
            view = inflater.inflate(R.layout.ddetrow1, parent, false);
            tvdetname.setText("#" + detName);
            tvdetlastname.setText(detLastname);

            tvdetname.setFocusable(false);
            tvdetlastname.setFocusable(false);
        }
        else if (position == 1)  {
            view = inflater.inflate(R.layout.ddetrow2, parent, false);
            tvdetaddr.setText(detAddr);
            tvdetcity.setText(detCity);
            tvdetcountry.setText(detCountry);

            tvdetaddr.setFocusable(false);
            tvdetcity.setFocusable(false);
            tvdetcountry.setFocusable(false);

        }

        ..........

        return view;
    }

它有效,但它只显示第0行,我想因为sql查询只返回1条记录。

如何设置5行以显示所有其他详细信息?

我试图实施:

public int getCount() {
        return 5;
    }

但是应用程序崩溃,因为只有1条记录。可能是我的方法是错误的,因为我尝试做与iOS相同的方法。

我需要一个ListView,因为当用户点击特定行时,我需要切换活动来编辑该行中显示的值。

感谢。

0 个答案:

没有答案