As shown in the above image, the left side displaying list view is customized listview, it that listview we will be showing a imageview and a textview, On clicking the item of that listview, the second listview will be generated.
The xml layout for that page will be like this
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent" android:gravity="center"
android:layout_height="fill_parent" android:background="#cccccc">
<TextView android:layout_width="fill_parent" android:textColor="#000"
android:layout_height="wrap_content" android:text="Multiple ListView Example" />
<LinearLayout android:orientation="horizontal" android:layout_marginTop="10dp" android:gravity="center_horizontal"
android:layout_width="fill_parent" android:layout_height="wrap_content">
<ListView android:id="@+id/ListView1" android:layout_width="130dp"
android:background="#fff" android:cacheColorHint="#fff"
android:layout_height="wrap_content" />
<TextView android:text="==>" android:layout_height="wrap_content" android:textColor="#000"
android:layout_width="wrap_content"></TextView>
<ListView android:id="@+id/ListView2" android:layout_width="130dp"
android:background="#4c6f7e" android:cacheColorHint="#4c6f7e"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
For the customized listview the coding will be like this, it will show the customized listview with a imageview and textview for each item
Java
private String[] list1 = {"Icon", "Icon Creator", "Image", "Image Creator"};
private ListView lister1;
lister1=(ListView)findViewById(R.id.ListView1);
ItemsAdapter itemsAdapter = new ItemsAdapter(
ListViewExample.this, R.layout.list,
list1);
lister1.setAdapter(itemsAdapter);
In the above example we need to explicitly use a layout, the layout will be
list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="100dp"
android:layout_height="fill_parent"
>
<ImageView
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/icon" android:id="@+id/image"/>
<TextView android:textColor="#000"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" android:id="@+id/desc"
/>
</LinearLayout>
For the second listview, is normal listview, which is used with the pre defined layout android.R.layout.simple_list_item_1
The full ListViewExample.java file will be like this
ListViewExample.java
package com.list.viewer;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
/** http://www.android-codes-examples.blogspot.com/ */
public class ListViewExample extends Activity {
private String[] list1 = { "Icon", "Icon Creator", "Image", "Image Creator" };
private String[] list21 = { "Design", "Creation", "Selection", "Caller" };
private String[] list22 = { "Investor", "Producer", "Controller",
"Publisher" };
private String[] list23 = { "Designer", "Maker", "Creator", "Asignment" };
private String[] list24 = { "Arranger", "Caller", "Solution", "Result" };
private ListView lister1;
private ListView lister2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lister1 = (ListView) findViewById(R.id.ListView1);
lister2 = (ListView) findViewById(R.id.ListView2);
ItemsAdapter itemsAdapter = new ItemsAdapter(ListViewExample.this,
R.layout.list, list1);
lister1.setAdapter(itemsAdapter);
lister2.setAdapter(new ArrayAdapter(ListViewExample.this,
android.R.layout.simple_list_item_1, list21));
lister1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView arg0, View arg1,
int positon, long arg3) {
String[] lister = null;
switch (positon) {
case 0:
lister = list21;
break;
case 1:
lister = list22;
break;
case 2:
lister = list23;
break;
case 3:
lister = list24;
break;
default:
lister = list21;
}
lister2.setAdapter(new ArrayAdapter(
ListViewExample.this,
android.R.layout.simple_list_item_1, lister));
}
});
}
private class ItemsAdapter extends BaseAdapter {
String[] items;
public ItemsAdapter(Context context, int textViewResourceId,
String[] items) {
this.items = items;
}
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
TextView mDescription;
View view = convertView;
ImageView image;
if (view == null) {
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = vi.inflate(R.layout.list, null);
}
image = (ImageView) view.findViewById(R.id.image);
mDescription = (TextView) view.findViewById(R.id.desc);
mDescription.setText(items[position]);
image.setBackgroundResource(R.id.image);
return view;
}
public int getCount() {
return items.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
}
}
The full source code
Have a good day.
can you help me in creating list view with images using Sqlite3 database..
ReplyDeleteSure, do you need to store the image in sqlite database itself
ReplyDeleteI want to store it into the DB and retrive it from the DB onto the emulator....
ReplyDeleteI am still waiting for your reply 'Keerthy' madam...I want the database to work like this..http://coenraets.org/froyo/obama.jpg
ReplyDeletethe details of employee and photo should be fetched from DataBase...
Hi sarfaraz, here is the sample code for sqlite database http://android-codes-examples.blogspot.com/2011/09/using-sqlite-to-populate-listview-in.html
ReplyDeleteHi madam I post two questions but its not showing on your blog y????
ReplyDeleteHi ali, sorry something had went wrong, i couldn't see ur posts in the admin side too
ReplyDeleteHi sarfaraz, i had uploaded the image in the table and i retrieved the image from the table to show in listview, the link is here http://android-codes-examples.blogspot.com/2011/09/image-and-content-is-populated-from.html
ReplyDeleteThank you Madam,its working fine..thanks again for helping me..Will you allow me to ask more questions in future????
ReplyDeleteMy pleasure
ReplyDeleteTo retrieve the image from the Server Database is by using URL, and to retrieve from our own HardDisk, what we should do..??
ReplyDeleteAnd one more question,
ReplyDeleteFirst time when I run that application with internet connection I was able to retrieve images on to emulator,second time I just disconnected the Internet and run the application from emulator ... its not displaying images why????
Keerthy I am still waiting for your reply...was my question wrong...
ReplyDeleteHi sarfaraz,
ReplyDeleteAre you using the example given on this blog - http://android-codes-examples.blogspot.com/2011/09/image-and-content-is-populated-from.html
In this example only i did with sqlite for images too.
On the first time while we are clicking the populate button we should need the internet, after that disconnect the internet and go to that page, it will be displaying properly.
If the doubt is not this means inform
I have done some coding on being able to click on what i have on my viewlist. But it seemed that, i have code it wrongly in a way that, if you click on Item1, it will go to Page1, Item2 will go to Page2, but if I search for Item2, and Item2 is at the top of the list, then when I click it, it will go to Page1 instead of Page2, any solutions for this?
ReplyDeletehttp://pastebin.com/W2yRcBk0
Hi Keerthy..Yes now its working,But earlier when I tried It was not working....Right now I am working on a project that fetches detail of employee from database and images also,I have to combine your application with employee detail application...
ReplyDeleteHere is the link...just try if you can....there are 6 application in that zip file you can try for 4th and 5th one...
http://code.google.com/p/androidtutorial/downloads/detail?name=androidtutorial-1.0.zip&can=2&q=
This is the first time in my life that I was waiting for a reply from a girl....
ReplyDeleteIts a nice example. Can you help me how do i track event of second listview i.e. design, creation, selection, caller, etc list box.
ReplyDeleteI want to track when someone clicks on Design. Appreciating your help.
Use this code for tracking the second list
ReplyDeletelister1.setAdapter(itemsAdapter);
lister2.setAdapter(new ArrayAdapter(ListViewExample.this,
android.R.layout.simple_list_item_1, list21));
lister2.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView arg0,
View arg1, int position, long arg3) {
Toast.makeText(ListViewExample.this, position + " - Click position - "+list21[position], Toast.LENGTH_SHORT).show();
}
});
lister1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView arg0, View arg1,
int positon, long arg3) {
final String[] lister;
switch (positon) {
case 0:
lister = list21;
break;
case 1:
lister = list22;
break;
case 2:
lister = list23;
break;
case 3:
lister = list24;
break;
default:
lister = list21;
}
lister2.setAdapter(new ArrayAdapter(
ListViewExample.this,
android.R.layout.simple_list_item_1, lister));
lister2.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView arg0,
View arg1, int position, long arg3) {
Toast.makeText(ListViewExample.this, position + " Click position "+lister[position], Toast.LENGTH_SHORT).show();
}
});
}
});
}
Hi Keerthy.. i have created dialogbox, inside that dialogbox i have listview. i have created context menu for that listView.. it showing context menu but when i m clicking on that contextmenu item it is not working.. could you please help me about this... Thanks
ReplyDeleteI am glad to apprehend the accomplished agreeable of this blog and am actual aflame and blessed to say that the webmaster has done a actual acceptable job actuality to put all the advice agreeable and advice at one place.
ReplyDeleteAndroid developers
Hey, the link to the entire source code is infected with malware crap.
ReplyDeleteDid you look into that yet?
I will shortly change the source code location, thanks for you intimation
ReplyDeleteHello Keerthy,
ReplyDeleteI am not able to download the source code.After completing the survey also it does not generate the download link.Please look into this problem.Or please mail me to raamkumar20@gmail.com.
Thanks in advance :)
HI Madam can please explain me with the help of the code how to display the dynamic data in the list view ..that is when i try to display more data in the particular list it is not able adjust the data based on size of data ..and it is just displaying some part of data ...please help me regarding this
ReplyDeleteIt's interesting that many of the bloggers your tips helped to clarify a few things for me as well as giving... very specific nice content.Android Training institute in chennai with placement | Best Android Training in velachery
ReplyDelete