How to create my above listview to look more professional?

前端 未结 5 702
醉酒成梦
醉酒成梦 2020-12-12 07:43

Can someone tell me how should am i going to create my listview which look similar [here][1].

Problem: How am i going to fulfill the sort of look and feel in my cod

5条回答
  •  心在旅途
    2020-12-12 08:06

    First Create the Layout that you want to display for each row in your list then Extend the BaseAdapter class to Customize your Lists. This class contains getView method to replicate the rows in your lists as many times as you want to.

    class HighScoreAdapter extends BaseAdapter { /* layout inflater to convert your XML layout to View to be rendered in your Each row of Lists.*/ private LayoutInflater minflator = LayoutInflater.from(HighScoreList.this); ViewHolder holder;

        @Override
        public Object getItem(int position)
        {
            return position;
        }
    
        @Override
        public long getItemId(int position)
        {
            return position;
        }
        boolean toRemove = false;
        @Override
        public View getView(int position, View convertView, ViewGroup parent)
        {
                        /* first time is null */
            if (convertView == null )
            {
                convertView = minflator.inflate(R.layout.highscorelist, null);
                holder = new ViewHolder();
                holder.rank = (TextView) convertView.findViewById(R.id.user_id);
                holder.username = (EditText) convertView.findViewById(R.id.user_nameedit);
                holder.time = (TextView) convertView.findViewById(R.id.user_time);
                convertView.setTag(holder);
            }
            else
            {
                holder  =   (ViewHolder) convertView.getTag();
            }
    
            holder.rank.setText(String.valueOf(position+1)+".");
    
            /* returns the view for next row as layout will be same i.e. this increases the your list's scrolling and working faster even though your list contains thousands of Entry*/
            return convertView;
        }
                 /* this class is to make reference to your child views of your layout by using this you can set your child views properties and Listeners acording to your need.*/
        class ViewHolder
        {
            TextView rank;
            EditText username;
            TextView time;
        }
    
    }
    

    I hope this solves your problem completely.. :)

提交回复
热议问题