Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert ArrayList to String array in Android

I have a ArrayList that contains values in the form [ann,john]. I want to convert this ArrayList into a String array in the form {"ann","john"}.

How should I do this?

My Android code:

     final Button markabsent = (Button) findViewById(R.id.Button02);       markabsent.setOnClickListener(new View.OnClickListener() {           public void onClick(View v) {              // Perform action on click              Toast.makeText(display.this,"You have marked the students absent",Toast.LENGTH_SHORT).show();               SparseBooleanArray checkedabsent = lView.getCheckedItemPositions();                for (int i = 0; i < arr2.length; i++)              {                 if (checkedabsent.get(i))                  {                     items2.add(arr2[i]);                     System.out.println(items2);                  }             }              Log.d("", "items:");             for (String string : items2)             {                 Log.d("string is", string);               }             }       });   

My Logcat:

     11-10 21:44:00.414: INFO/System.out(2316): [ann, john, ann]      11-10 21:44:00.414: DEBUG/(2316): items:      11-10 21:44:00.414: DEBUG/string is(2316): ann      11-10 21:44:00.414: DEBUG/string is(2316): john 

I tried doing everything mentioned in the answers but my logcat just doesn't seem to imrove

Here is the one giving exceptions:

          11-10 22:14:20.855: INFO/System.out(3322): [Ljava.lang.String;@44eb6ff0           11-10 22:16:38.186: ERROR/AndroidRuntime(3411): FATAL EXCEPTION: main           11-10 22:16:38.186: ERROR/AndroidRuntime(3411): java.lang.ClassCastException: [Ljava.lang.Object;           11-10 22:16:38.186: ERROR/AndroidRuntime(3411):     at com.example.display$2.onClick(display.java:124)           11-10 22:16:38.186: ERROR/AndroidRuntime(3411):     at android.view.View.performClick(View.java:2408)           11-10 22:16:38.186: ERROR/AndroidRuntime(3411):     at android.view.View$PerformClick.run(View.java:8816)           11-10 22:16:38.186: ERROR/AndroidRuntime(3411):     at android.os.Handler.handleCallback(Handler.java:587) 

Here is one more:

          11-10 22:14:20.875: DEBUG/string is(3322): ann           11-10 22:14:20.875: INFO/System.out(3322): [Ljava.lang.String;@44eb7720           11-10 22:14:20.875: INFO/System.out(3322): [Ljava.lang.String;@44eb7720           11-10 22:14:20.885: INFO/System.out(3322): [Ljava.lang.String;@44eb7720           11-10 22:14:20.895: DEBUG/string is(3322): john           11-10 22:14:20.895: INFO/System.out(3322): [Ljava.lang.String;@44eb7de8           11-10 22:16:38.186: ERROR/AndroidRuntime(3411):     at com.example.display$2.onClick(display.java:124) 
like image 484
Parth Doshi Avatar asked Nov 10 '11 16:11

Parth Doshi


People also ask

How do you return an ArrayList as a string?

To convert the contents of an ArrayList to a String, create a StringBuffer object append the contents of the ArrayList to it, finally convert the StringBuffer object to String using the toString() method.

How do you copy ArrayList to array?

All the elements of an ArrayList can be copied into an Object Array using the method java. util. ArrayList. toArray().


1 Answers

Use the method "toArray()"

ArrayList<String>  mStringList= new ArrayList<String>(); mStringList.add("ann"); mStringList.add("john"); Object[] mStringArray = mStringList.toArray();  for(int i = 0; i < mStringArray.length ; i++){     Log.d("string is",(String)mStringArray[i]); } 

or you can do it like this: (mentioned in other answers)

ArrayList<String>  mStringList= new ArrayList<String>(); mStringList.add("ann"); mStringList.add("john"); String[] mStringArray = new String[mStringList.size()]; mStringArray = mStringList.toArray(mStringArray);  for(int i = 0; i < mStringArray.length ; i++){     Log.d("string is",(String)mStringArray[i]); } 

http://developer.android.com/reference/java/util/ArrayList.html#toArray()

like image 97
DallaRosa Avatar answered Sep 28 '22 04:09

DallaRosa