android studio listview multi-column example
Today learn to android studio listview multi-column example. and how to create a multi-column listview in android studio so follow this source code lets start.
package com.akash.multicolumnlistview;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private ArrayList<Model> productList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
productList = new ArrayList<Model>();
ListView lview = (ListView) findViewById(R.id.listview);
listviewAdapter adapter = new listviewAdapter(this, productList);
lview.setAdapter(adapter);
populateList();
adapter.notifyDataSetChanged();
lview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String sno = ((TextView) view.findViewById(R.id.sNo)).getText().toString();
String product = ((TextView) view.findViewById(R.id.product)).getText().toString();
String category = ((TextView) view.findViewById(R.id.category)).getText().toString();
String price = ((TextView) view.findViewById(R.id.price)).getText().toString();
Toast.makeText(getApplicationContext(),
"S no : " + sno + "\n"
+ "Product : " + product + "\n"
+ "Category : " + category + "\n"
+ "Price : " + price, Toast.LENGTH_SHORT).show();
}
});
}
private void populateList() {
Model item1, item2, item3, item4, item5;
item1 = new Model("1", "Apple (Northern Spy)", "Fruits", "₹. 200");
productList.add(item1);
item2 = new Model("2", "Orange (Sunkist navel)", "Fruits", "₹. 100");
productList.add(item2);
item3 = new Model("3", "Tomato", "Vegetable", "₹. 50");
productList.add(item3);
item4 = new Model("4", "Carrot", "Vegetable", "₹. 80");
productList.add(item4);
item5 = new Model("5", "Banana (Cavendish)", "Fruits", "₹. 100");
productList.add(item5);
}
}
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:id = "@+id/relativeLayout1"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:background = "@color/colorCell"
tools:ignore="MissingConstraints">
<TextView
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:layout_weight = "1"
android:gravity = "center"
android:padding = "5dp"
android:text = "@string/sNo"
android:textColor = "#ffffff" />
<TextView
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:layout_weight = "2"
android:gravity = "center"
android:padding = "5dp"
android:text = "@string/product"
android:textColor = "#ffffff"/>
<TextView
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:layout_weight = "1.5"
android:gravity = "center"
android:padding = "5dp"
android:text = "@string/category"
android:textColor = "#ffffff" />
<TextView
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:layout_weight = "1"
android:gravity = "center"
android:padding = "5dp"
android:text = "@string/price"
android:textColor = "#ffffff" />
</LinearLayout>
<ListView
android:id = "@+id/listview"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:divider = "@null"
tools:ignore="MissingConstraints" />
</android.support.constraint.ConstraintLayout>
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id = "@+id/relativeLayout1"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:background = "@color/colorCell"
tools:ignore="MissingConstraints">
<TextView
android:id = "@+id/sNo"
android:layout_width = "0dp"
android:layout_height = "match_parent"
android:layout_weight = "1"
android:background = "@drawable/cell_shape"
android:ellipsize = "end"
android:padding = "5dp"
android:text = "@string/sNo"
android:singleLine = "true" />
<TextView
android:id = "@+id/product"
android:layout_width = "0dp"
android:layout_height = "match_parent"
android:layout_weight = "2"
android:background = "@drawable/cell_shape"
android:ellipsize = "end"
android:padding = "5dp"
android:text = "@string/product"
android:singleLine = "true" />
<TextView
android:id = "@+id/category"
android:layout_width = "0dp"
android:layout_height = "match_parent"
android:layout_weight = "1.5"
android:background = "@drawable/cell_shape"
android:ellipsize = "end"
android:padding = "5dp"
android:text = "@string/category"
android:singleLine = "true" />
<TextView
android:id = "@+id/price"
android:layout_width = "0dp"
android:layout_height = "match_parent"
android:layout_weight = "1"
android:background = "@drawable/cell_shape"
android:ellipsize = "end"
android:padding = "5dp"
android:text = "@string/price"
android:singleLine = "true" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>
<layer-list xmlns:android = "http://schemas.android.com/apk/res/android">
<item
android:left = "-2dp"
android:top = "-2dp">
<shape android:shape = "rectangle" >
<solid android:color = "@android:color/transparent" />
<stroke
android:width = "1dp"
android:color = "@color/colorCell" />
</shape>
</item>
</layer-list >
package com.akash.multicolumnlistview;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class listviewAdapter extends BaseAdapter {
public ArrayList<Model> productList;
Activity activity;
public listviewAdapter(Activity activity, ArrayList<Model> productList) {
super();
this.activity = activity;
this.productList = productList;
}
@Override
public int getCount() {
return productList.size();
}
@Override
public Object getItem(int position) {
return productList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
private class ViewHolder {
TextView mSNo;
TextView mProduct;
TextView mCategory;
TextView mPrice;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
LayoutInflater inflater = activity.getLayoutInflater();
if (convertView == null) {
convertView = inflater.inflate(R.layout.listview_row, null);
holder = new ViewHolder();
holder.mSNo = (TextView) convertView.findViewById(R.id.sNo);
holder.mProduct = (TextView) convertView.findViewById(R.id.product);
holder.mCategory = (TextView) convertView
.findViewById(R.id.category);
holder.mPrice = (TextView) convertView.findViewById(R.id.price);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Model item = productList.get(position);
holder.mSNo.setText(item.getsNo().toString());
holder.mProduct.setText(item.getProduct().toString());
holder.mCategory.setText(item.getCategory().toString());
holder.mPrice.setText(item.getPrice().toString());
return convertView;
}
}
package com.akash.multicolumnlistview;
public class Model {
private String sNo;
private String product;
private String category;
private String price;
public Model(String sNo, String product, String category, String price) {
this.sNo = sNo;
this.product = product;
this.category = category;
this.price = price;
}
public String getsNo() {
return sNo;
}
public String getProduct() {
return product;
}
public String getCategory() {
return category;
}
public String getPrice() {
return price;
}
}
Today learn to android studio listview multi-column example. and how to create a multi-column listview in android studio so follow this source code lets start.
1.MainActivity.java:
package com.akash.multicolumnlistview;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private ArrayList<Model> productList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
productList = new ArrayList<Model>();
ListView lview = (ListView) findViewById(R.id.listview);
listviewAdapter adapter = new listviewAdapter(this, productList);
lview.setAdapter(adapter);
populateList();
adapter.notifyDataSetChanged();
lview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String sno = ((TextView) view.findViewById(R.id.sNo)).getText().toString();
String product = ((TextView) view.findViewById(R.id.product)).getText().toString();
String category = ((TextView) view.findViewById(R.id.category)).getText().toString();
String price = ((TextView) view.findViewById(R.id.price)).getText().toString();
Toast.makeText(getApplicationContext(),
"S no : " + sno + "\n"
+ "Product : " + product + "\n"
+ "Category : " + category + "\n"
+ "Price : " + price, Toast.LENGTH_SHORT).show();
}
});
}
private void populateList() {
Model item1, item2, item3, item4, item5;
item1 = new Model("1", "Apple (Northern Spy)", "Fruits", "₹. 200");
productList.add(item1);
item2 = new Model("2", "Orange (Sunkist navel)", "Fruits", "₹. 100");
productList.add(item2);
item3 = new Model("3", "Tomato", "Vegetable", "₹. 50");
productList.add(item3);
item4 = new Model("4", "Carrot", "Vegetable", "₹. 80");
productList.add(item4);
item5 = new Model("5", "Banana (Cavendish)", "Fruits", "₹. 100");
productList.add(item5);
}
}
2.activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:id = "@+id/relativeLayout1"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:background = "@color/colorCell"
tools:ignore="MissingConstraints">
<TextView
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:layout_weight = "1"
android:gravity = "center"
android:padding = "5dp"
android:text = "@string/sNo"
android:textColor = "#ffffff" />
<TextView
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:layout_weight = "2"
android:gravity = "center"
android:padding = "5dp"
android:text = "@string/product"
android:textColor = "#ffffff"/>
<TextView
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:layout_weight = "1.5"
android:gravity = "center"
android:padding = "5dp"
android:text = "@string/category"
android:textColor = "#ffffff" />
<TextView
android:layout_width = "0dp"
android:layout_height = "wrap_content"
android:layout_weight = "1"
android:gravity = "center"
android:padding = "5dp"
android:text = "@string/price"
android:textColor = "#ffffff" />
</LinearLayout>
<ListView
android:id = "@+id/listview"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:divider = "@null"
tools:ignore="MissingConstraints" />
</android.support.constraint.ConstraintLayout>
3.listview_row.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id = "@+id/relativeLayout1"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:background = "@color/colorCell"
tools:ignore="MissingConstraints">
<TextView
android:id = "@+id/sNo"
android:layout_width = "0dp"
android:layout_height = "match_parent"
android:layout_weight = "1"
android:background = "@drawable/cell_shape"
android:ellipsize = "end"
android:padding = "5dp"
android:text = "@string/sNo"
android:singleLine = "true" />
<TextView
android:id = "@+id/product"
android:layout_width = "0dp"
android:layout_height = "match_parent"
android:layout_weight = "2"
android:background = "@drawable/cell_shape"
android:ellipsize = "end"
android:padding = "5dp"
android:text = "@string/product"
android:singleLine = "true" />
<TextView
android:id = "@+id/category"
android:layout_width = "0dp"
android:layout_height = "match_parent"
android:layout_weight = "1.5"
android:background = "@drawable/cell_shape"
android:ellipsize = "end"
android:padding = "5dp"
android:text = "@string/category"
android:singleLine = "true" />
<TextView
android:id = "@+id/price"
android:layout_width = "0dp"
android:layout_height = "match_parent"
android:layout_weight = "1"
android:background = "@drawable/cell_shape"
android:ellipsize = "end"
android:padding = "5dp"
android:text = "@string/price"
android:singleLine = "true" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>
4.cell_shape.xml:
<layer-list xmlns:android = "http://schemas.android.com/apk/res/android">
<item
android:left = "-2dp"
android:top = "-2dp">
<shape android:shape = "rectangle" >
<solid android:color = "@android:color/transparent" />
<stroke
android:width = "1dp"
android:color = "@color/colorCell" />
</shape>
</item>
</layer-list >
5.listviewAdapter.java:
package com.akash.multicolumnlistview;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class listviewAdapter extends BaseAdapter {
public ArrayList<Model> productList;
Activity activity;
public listviewAdapter(Activity activity, ArrayList<Model> productList) {
super();
this.activity = activity;
this.productList = productList;
}
@Override
public int getCount() {
return productList.size();
}
@Override
public Object getItem(int position) {
return productList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
private class ViewHolder {
TextView mSNo;
TextView mProduct;
TextView mCategory;
TextView mPrice;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
LayoutInflater inflater = activity.getLayoutInflater();
if (convertView == null) {
convertView = inflater.inflate(R.layout.listview_row, null);
holder = new ViewHolder();
holder.mSNo = (TextView) convertView.findViewById(R.id.sNo);
holder.mProduct = (TextView) convertView.findViewById(R.id.product);
holder.mCategory = (TextView) convertView
.findViewById(R.id.category);
holder.mPrice = (TextView) convertView.findViewById(R.id.price);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Model item = productList.get(position);
holder.mSNo.setText(item.getsNo().toString());
holder.mProduct.setText(item.getProduct().toString());
holder.mCategory.setText(item.getCategory().toString());
holder.mPrice.setText(item.getPrice().toString());
return convertView;
}
}
6.Model.java:
package com.akash.multicolumnlistview;
public class Model {
private String sNo;
private String product;
private String category;
private String price;
public Model(String sNo, String product, String category, String price) {
this.sNo = sNo;
this.product = product;
this.category = category;
this.price = price;
}
public String getsNo() {
return sNo;
}
public String getProduct() {
return product;
}
public String getCategory() {
return category;
}
public String getPrice() {
return price;
}
}
7.strings.xml:
<resources>
<string name="app_name">Multi column listview</string>
<string name="sNo">Sr No.</string>
<string name="product">product</string>
<string name="category">category</string>
<string name="price">price</string>
</resources>
8.colors.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
<color name="colorCell">#169DDA</color>
</resources>
9.AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.akash.multicolumnlistview">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
No comments:
Post a Comment