This article shows to create a dynamic custom view as a list. i have created a custom adapter and explore to create a custom listview.
As a result i have created the below method. In this blog will help you to create a customized list view.
Create two layout
1. main layout
2. custom view layout.
MainLayout - which is used to define the scroll view.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:id="@+id/ScrollView01"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent" android:layout_width="fill_parent">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:id="@+id/mylayout1"
android:layout_height="wrap_content">
</LinearLayout>
</ScrollView>
Custom Layout - Which Consists of actual design.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:text="@+id/TextView01" android:id="@+id/TextView01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<Button android:text="@+id/Button01" android:id="@+id/Button01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
Create a Activity Class
public class DynamicListActivity extends Activity {
/**
* @see android.app.Activity#onCreate(Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listviewmain);
LinearLayout l = (LinearLayout) findViewById(R.id.mylayout1);
LayoutInflater linflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for (int i = 0; i < 5; i++) {
View customView = linflater.inflate(R.layout.customlistviewitem,
null);
TextView tv = (TextView) customView.findViewById(R.id.TextView01);
Button btn = (Button) customView.findViewById(R.id.Button01);
tv.setId(i);
btn.setId(i);
tv.setText("Location:" + i);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(DynamicListActivity.this, v.getId() + "",
Toast.LENGTH_LONG).show();
}
});
l.addView(customView);
}
}
}
As a result i have created the below method. In this blog will help you to create a customized list view.
Create two layout
1. main layout
2. custom view layout.
MainLayout - which is used to define the scroll view.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:id="@+id/ScrollView01"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent" android:layout_width="fill_parent">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:id="@+id/mylayout1"
android:layout_height="wrap_content">
</LinearLayout>
</ScrollView>
Custom Layout - Which Consists of actual design.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:text="@+id/TextView01" android:id="@+id/TextView01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<Button android:text="@+id/Button01" android:id="@+id/Button01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
Create a Activity Class
public class DynamicListActivity extends Activity {
/**
* @see android.app.Activity#onCreate(Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listviewmain);
LinearLayout l = (LinearLayout) findViewById(R.id.mylayout1);
LayoutInflater linflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for (int i = 0; i < 5; i++) {
View customView = linflater.inflate(R.layout.customlistviewitem,
null);
TextView tv = (TextView) customView.findViewById(R.id.TextView01);
Button btn = (Button) customView.findViewById(R.id.Button01);
tv.setId(i);
btn.setId(i);
tv.setText("Location:" + i);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(DynamicListActivity.this, v.getId() + "",
Toast.LENGTH_LONG).show();
}
});
l.addView(customView);
}
}
}