在Android中为ArrayList设置自定义适配器

TechFrk

我正在尝试为我的活动实现自定义适配器,该适配器将从两个ArrayList填充listview。但是,我对下一步该怎么办感到困惑?这是我的代码:

public class Offers extends Activity 
{
    ListView latesttrans;
    Boolean flagValue = false;

    ArrayList<String> listItems = new ArrayList<String>();
    ArrayList<String> listAddress = new ArrayList<String>();
    String[] addr;
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_offers);
        latesttrans = (ListView) findViewById(R.id.listView1);

        Uri latesttransuri = Uri.parse("content://sms/inbox");
        Cursor latesttranscursor = getContentResolver().query(latesttransuri, new String[]{"_id","address","date","body"}, null, null, null);

        if(flagValue == false)
        {
            latesttranscursor.moveToFirst();
            flagValue = true;
        }

        String address = null,body = null;
        int i=0;

            while(latesttranscursor.moveToNext())
            {
                address=latesttranscursor.getString(1);
                long date = latesttranscursor.getLong(2);
                String sdate = millisToDate(date);
                body = latesttranscursor.getString(3);

                if(body.contains("FREE"))
                {
                    listItems.add(i,body);
                    listAddress.add(i,address);
                    i++;
                }
                else if(body.contains("unlimited"))
                {
                    listItems.add(i,body);
                    listAddress.add(i,address);
                    i++;
                }
                else if(body.contains("unlimited"))
                {
                    listItems.add(i,body);
                    listAddress.add(i,address);
                    i++;
                }
                else if(body.contains("OFF"))
                {
                    listItems.add(i,body);
                    listAddress.add(i,address);
                    i++;
                }
                else if(body.contains("off"))
                {
                    listItems.add(i,body);
                    listAddress.add(i,address);
                    i++;
                }
                else if(body.contains("lowest"))
                {
                    listItems.add(i,body);
                    listAddress.add(i,address);
                    i++;
                }
                else if(body.contains("save"))
                {
                    listItems.add(i,body);
                    listAddress.add(i,address);
                    i++;
                }
                else if(body.contains("CHEAPER"))
                {
                    listItems.add(i,body);
                    listAddress.add(i,address);
                    i++;
                }

            }

        latesttrans.setAdapter(new MyCustomAdapter(this));
    }
    public String millisToDate(long currentTime) 
    {
        String finalDate;
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(currentTime);
        Date date = calendar.getTime();
        finalDate = date.toString();
        return finalDate;
    }
} 

    class SingleRow2
    {
        String title;
        String description;
        SingleRow2(String title, String description)
        {
            this.title=title;
            this.description=description;
        }
    }
    class MyCustomAdapter extends BaseAdapter
    {
        int i=0;
        Boolean flagValue = false;
        ArrayList<SingleRow2> list;
        Context context;

        public MyCustomAdapter(Offers offers) 
        {
            // TODO Auto-generated constructor stub
        }

        public int getCount() 
        {
            return list.size();
        }

        public Object getItem(int arg0) 
        {
            // TODO Auto-generated method stub
            return list.get(arg0);
        }

        public long getItemId(int position) 
        {
            return position;
        }
        public View getView(int arg0, View arg1, ViewGroup viewGroup) 
        {
            LayoutInflater inflater= (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View row = inflater.inflate(R.layout.single_row_offers,viewGroup,false);

            TextView addresstext = (TextView) row.findViewById(R.id.textViewSingleOffer1);
            TextView bodytext = (TextView) row.findViewById(R.id.textViewSingleOffer2);


            return (row);
        }
}

我无法在此处实现getView()方法。有人有什么想法吗?

马克斯·维特鲁克

您的适配器:

class TestAdapter extends BaseAdapter {

    ArrayList<String> listItem;
    ArrayList<String> listAddress;

    Context mContext;
    //constructor
    public TestAdapter(Context mContext, ArrayList<String> listItem, 
    ArrayList<String> listAddress) {
        this.mContext = mContext;
        this.listItem = listItem;
        this.listAddress = listAddress;
    }

    public int getCount() {
        return listItem.size();
    }

    public Object getItem(int arg0) {
        return null;
    }

    public long getItemId(int position) {
        return position;
    }

    public View getView(int position, View arg1, ViewGroup viewGroup) 
    {
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View row = inflater.inflate(R.layout.single_row_offers, viewGroup, false);

        TextView addresstext = (TextView) row.findViewById(R.id.textViewSingleOffer1);
        TextView bodytext = (TextView) row.findViewById(R.id.textViewSingleOffer2);

        bodytext.setText(listItem.get(position));
        addresstext.setText(listAddress.get(position));


        return row;
    }
}

latesttrans.setAdapter(new TestAdapter(this, listItem,listAddress));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android将Arraylist数据设置为自定义适配器

来自分类Dev

将onClickListener设置为自定义适配器

来自分类Dev

Android:使用自定义适配器设置AutoCompleteTextView

来自分类Dev

在RecyclerView适配器中设置自定义字体

来自分类Dev

使用自定义适配器中的自定义ArrayList <MyOwnParseClass>在ListView中设置ParseFile图像

来自分类Dev

android自定义列表视图适配器中的ArrayList索引超出范围异常

来自分类Dev

如何在Android中自定义适配器?

来自分类Dev

在Android的“自定义适配器”中设置Textview的文本时出现问题

来自分类Dev

Android-自定义适配器中的setText时为NPE

来自分类Dev

ListView /自定义数组适配器-调用getView时适配器设置为null

来自分类Dev

Android Studio中带有自定义适配器的自定义ListView

来自分类Dev

如何通过自定义适配器为列表视图动态设置imageView源?

来自分类Dev

无法将片段设置为自定义适配器的列表

来自分类Dev

为gridview样式自定义适配器

来自分类Dev

自定义ArrayList适配器和游标的Android怪异行为

来自分类Dev

自定义ArrayList适配器和游标的Android怪异行为

来自分类Dev

在自定义ArrayList适配器方案中调用.setAdapter时,动作流程是什么?

来自分类Dev

在自定义ArrayList适配器方案中调用.setAdapter时,动作流程是什么?

来自分类Dev

Android自定义适配器如何工作?

来自分类Dev

android:带有自定义适配器的AutoCompleteTextView

来自分类Dev

使用自定义适配器的Android数据绑定

来自分类Dev

Android自定义阵列适配器未运行

来自分类Dev

Android DataBinding自定义绑定适配器警告

来自分类Dev

Android从适配器自定义类调用findViewById

来自分类Dev

Android ListView onClickListener自定义适配器

来自分类Dev

android:带有自定义适配器的AutoCompleteTextView

来自分类Dev

Android创建自定义适配器

来自分类Dev

Android自定义ListView /适配器

来自分类Dev

Android ListView onItemclick以及自定义适配器

Related 相关文章

  1. 1

    Android将Arraylist数据设置为自定义适配器

  2. 2

    将onClickListener设置为自定义适配器

  3. 3

    Android:使用自定义适配器设置AutoCompleteTextView

  4. 4

    在RecyclerView适配器中设置自定义字体

  5. 5

    使用自定义适配器中的自定义ArrayList <MyOwnParseClass>在ListView中设置ParseFile图像

  6. 6

    android自定义列表视图适配器中的ArrayList索引超出范围异常

  7. 7

    如何在Android中自定义适配器?

  8. 8

    在Android的“自定义适配器”中设置Textview的文本时出现问题

  9. 9

    Android-自定义适配器中的setText时为NPE

  10. 10

    ListView /自定义数组适配器-调用getView时适配器设置为null

  11. 11

    Android Studio中带有自定义适配器的自定义ListView

  12. 12

    如何通过自定义适配器为列表视图动态设置imageView源?

  13. 13

    无法将片段设置为自定义适配器的列表

  14. 14

    为gridview样式自定义适配器

  15. 15

    自定义ArrayList适配器和游标的Android怪异行为

  16. 16

    自定义ArrayList适配器和游标的Android怪异行为

  17. 17

    在自定义ArrayList适配器方案中调用.setAdapter时,动作流程是什么?

  18. 18

    在自定义ArrayList适配器方案中调用.setAdapter时,动作流程是什么?

  19. 19

    Android自定义适配器如何工作?

  20. 20

    android:带有自定义适配器的AutoCompleteTextView

  21. 21

    使用自定义适配器的Android数据绑定

  22. 22

    Android自定义阵列适配器未运行

  23. 23

    Android DataBinding自定义绑定适配器警告

  24. 24

    Android从适配器自定义类调用findViewById

  25. 25

    Android ListView onClickListener自定义适配器

  26. 26

    android:带有自定义适配器的AutoCompleteTextView

  27. 27

    Android创建自定义适配器

  28. 28

    Android自定义ListView /适配器

  29. 29

    Android ListView onItemclick以及自定义适配器

热门标签

归档