ArrayList的转换为字符串数组中的Andr​​oid转换为、字符串、组中、ArrayList

由网友(怀念早已失去了颜色′)分享简介:我有一个包含的形式[安,约翰]值的ArrayList。我想此ArrayList转换为字符串数组的形式{安,约翰}。我应该怎么做呢?我的Andr​​oid code:最后按钮markabsent =(按钮)findViewById(R.id.Button02);markabsent.setOnClickListener(...

我有一个包含的形式[安,约翰]值的ArrayList。我想此ArrayList转换为字符串数组的形式{安,约翰}。

我应该怎么做呢?

我的Andr​​oid code:

 最后按钮markabsent =(按钮)findViewById(R.id.Button02);
      markabsent.setOnClickListener(新View.OnClickListener(){
          公共无效的onClick(视图v){

            //执行上的点击动作
             Toast.makeText(display.this,你已经打上了学生缺席,Toast.LENGTH_SHORT).show();

             SparseBooleanArray checkedabsent = lView.getCheckedItemPositions();



            的for(int i = 0; I< arr2.length;我++)
            {
                如果(checkedabsent.get(i))的
                {
                    items2.add(ARR2 [I]);
                    的System.out.println(items2);

                }
            }

            Log.d(,项目);
            对于(字符串字符串:items2)
            {
                Log.d(字符串,字符串);


            }
          }
      });
 

我的logcat的:

  11-10 21:44:00.414:信息/的System.out(2316):[安,约翰,安]
     11-10 21:44:00.414:DEBUG /(2316):项目:
     11-10 21:44:00.414:DEBUG /串(2316):安
     11-10 21:44:00.414:DEBUG /串(2316):约翰
 

我试图做的答案提到的一切,但我的logcat只是似乎没有imrove

下面是一个给予例外:

  11-10 22:14:20.855:信息/的System.out(3322):Ljava.lang.String; @ 44eb6ff0
          11-10 22:16:38.186:E​​RROR / AndroidRuntime(3411):致命异常:主要
          11-10 22:16:38.186:E​​RROR / AndroidRuntime(3411):java.lang.ClassCastException:[Ljava.lang.Object;
          11-10 22:16:38.186:E​​RROR / AndroidRuntime(3411):在com.example.display $ 2.onClick(display.java:124)
          11-10 22:16:38.186:E​​RROR / AndroidRuntime(3411):在android.view.View.performClick(View.java:2408)
          11-10 22:16:38.186:E​​RROR / AndroidRuntime(3411):在android.view.View $ PerformClick.run(View.java:8816)
          11-10 22:16:38.186:E​​RROR / AndroidRuntime(3411):在android.os.Handler.handleCallback(Handler.java:587)
 

下面是多了一个:

  11-10 22:14:20.875:DEBUG /串(3322):安
          11-10 22:14:20.875:信息/的System.out(3322):Ljava.lang.String; @ 44eb7720
          11-10 22:14:20.875:信息/的System.out(3322):Ljava.lang.String; @ 44eb7720
          11-10 22:14:20.885:信息/的System.out(3322):Ljava.lang.String; @ 44eb7720
          11-10 22:14:20.895:DEBUG /串(3322):约翰
          11-10 22:14:20.895:信息/的System.out(3322):Ljava.lang.String; @ 44eb7de8
          11-10 22:16:38.186:E​​RROR / AndroidRuntime(3411):在com.example.display $ 2.onClick(display.java:124)
 

解决方案

使用方法的toArray()

 的ArrayList<字符串> mStringList =新的ArrayList<字符串>();
mStringList.add(安);
mStringList.add(约翰福音);
[对象] mStringArray = mStringList.toArray();

的for(int i = 0; I< mStringArray.length;我++){
    Log.d(字符串,(串)mStringArray [I]);
}
 

或者你可以做到这一点是这样的:(在其他的答案中提到)

 的ArrayList<字符串> mStringList =新的ArrayList<字符串>();
mStringList.add(安);
mStringList.add(约翰福音);
的String [] mStringArray =新的String [mStringList.size()];
mStringArray = mStringList.toArray(mStringArray);

的for(int i = 0; I< mStringArray.length;我++){
    Log.d(字符串,(串)mStringArray [I]);
}
 

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

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)

解决方案

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()

阅读全文

相关推荐

最新文章