0

I have class Person

class person{
int ID ;
sting FirstName ;
string Last Name ;
String Telephone ;

}

and I have ArrayList<person> ;

now I want to display simple list view containing just FirstName + "," + "LastName"

so I can use code like

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Color Mode");

ListView modeList = new ListView(this);
String[] stringArray = new String[] { "Bright Mode", "Normal Mode" };
ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, stringArray);
modeList.setAdapter(modeAdapter);

builder.setView(modeList);
final Dialog dialog = builder.create();

dialog.show();

so how to cconvert the ArrayList to string[] that contains the format FirstName + "," + "LastName"

I can loop , but Is there any good way or simple way to do that , because I tried to use adapter but it failed to appear in the dialoge

2 Answers 2

2

Make your ArrayAdapter to use the type person and not String (also, just pass the ArrayList<person> instead of an array) like this:

ArrayAdapter<person> modeAdapter = new ArrayAdapter<person>(this, android.R.layout.simple_list_item_1, android.R.id.text1, theArrayList);

and then override the person's class toString method:

class person {
        int ID;
        String FirstName;
        String LastName;
        String Telephone;

        @Override
        public String toString() {          
            return "Whatever " + FirstName + " and Whatever  " + LastName;
        }

    }
Sign up to request clarification or add additional context in comments.

4 Comments

Wooow , it like invention , u saved me really , so fast too
now I have listview I display on dialoge after click button , Iwant when click on item of list , fill anothe control with the textview , it always crash any idea
@AMH You should ask another question and provide the full code that you use plus the log with the exception you get.
0

Better to use Custom Adapter. Here you do not need to convert ArrayList to String ArrayList. You able to set data via array-list position.

link

Thanks

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.