Skip to main content

Create Custom Listview In Android

Create Dynamic Value Display In A Listview in Android:


1] Add Code Into A Java File:

import java.util.ArrayList;
import java.util.TreeSet;

import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class CustomListActivity extends Activity {
      ListView lv;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            lv=(ListView)findViewById(R.id.listView1);
            MyCustomAdapter ad=new MyCustomAdapter(this);
           
            ad.addItem1("Hitesh");
            ad.addItem2("9016395600");
           
            ad.addItem1("Hmk");
            ad.addItem2("9998897977");
           
            lv.setAdapter(ad);
        }
        public class MyCustomAdapter extends BaseAdapter
        {
            private static final int TYPE_ITEM = 0;
            private static final int TYPE_SEPARATOR = 1;
            private static final int TYPE_MAX_COUNT = TYPE_SEPARATOR + 1;
           
            public ArrayList<String>NAME=new ArrayList<String>();
            public ArrayList<String>NO=new ArrayList<String>();
            Activity context;
           
            private TreeSet<Integer> mSeparatorsSet = new TreeSet<Integer>();
           
            public MyCustomAdapter(Activity context) {
                this.context=context;
            }

            @Override
            public int getCount() {
                // TODO Auto-generated method stub
                return NAME.size();
            }

            public void addItem2(String no) {
                // TODO Auto-generated method stub
                NO.add(no);
                notifyDataSetChanged();
            }

            public void addItem1(String name) {
                // TODO Auto-generated method stub
                NAME.add(name);
                notifyDataSetChanged();
            }
            public int getItemViewType(int position) {
                return mSeparatorsSet.contains(position) ? TYPE_SEPARATOR: TYPE_ITEM;
            }
            public int getViewTypeCount() {
                return TYPE_MAX_COUNT;
            }

            @Override
            public String getItem(int position) {
                // TODO Auto-generated method stub
                return NAME.get(position);
            }

            @Override
            public long getItemId(int position) {
                // TODO Auto-generated method stub
                return position;
            }

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub
                LayoutInflater lyinf=context.getLayoutInflater();
                View rowView=lyinf.inflate(R.layout.main1, null, true);
                TextView tv1=(TextView)rowView.findViewById(R.id.textView1);
                TextView tv2=(TextView)rowView.findViewById(R.id.textView2);
                tv1.setText(NAME.get(position));
                tv2.setText(NO.get(position));
                return rowView;
            }
           
        }
}


2] Add a Code Into a main.xml file:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>


</LinearLayout>


3] Add a Code Into main1.xml file

     <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1.05" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/textView1"
            android:layout_centerHorizontal="true"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    </RelativeLayout>

</LinearLayout>

   output:
           

Comments

Popular posts from this blog

Create Shared Prefrence Via XML In Android

Download Source Code : Click Here Output:

Sandeep Maheshwari on zee news

Network Security Exception in Android Retrofit Cleartext HTTP traffic not permitted

Create One directory in res/xml Create file in xml directory Past give below code : < network-security-config > < base-config cleartextTrafficPermitted= "true" /> < domain-config > < domain includeSubdomains= "true" >www.xyz.com</ domain >> < trust-anchors > < certificates src= "system" /> </ trust-anchors > </ domain-config > </ network-security-config > Add one Line into AndroidMenifest.xm File in application tag : android :networkSecurityConfig= "@xml/yourfilename" android :usesCleartextTraffic= "true"