0

我必须在我的应用程序中将一个数组列表拆分为多个字符串,这些字符串应该按顺序显示..

            ArrayList<String> contactlist = new ArrayList<String>();
            contactlist.add("Prasad");
            contactlist.add("Prasad");
            contactlist.add("Prasad");
            contactlist.add("Prasad");

            String[] contact = new String[contactlist.size()];
            contact = contactlist.toArray(contact);

            StringBuffer sb = new StringBuffer("");

            for (String s : contactlist) {
                sb.append(s+",");
            }

            stringToSend = sb.toString();

            Log.d("stringToSend ", stringToSend);

            new upload().execute();

            /*
             * String[] rString = stringToSend.split("-");
             * 
             * for (String s : rString) { System.out.println("Names : " +
             * s); }
             */

        }
    });
}

class upload extends AsyncTask<Void, Void, Void> {

    String res, res1, url;
    ProgressDialog pd;

    protected void onPreExecute() {
        pd = ProgressDialog.show(MainActivity.this, "Sending",
                "Please Wait");
    }

    @Override
    protected Void doInBackground(Void... params) {
        // TODO Auto-generated method stub

        try {
            res = null;
            url = "http://192.168.0.40:8092/Testing/Login";

            //res = CustomHttpClient.executeHttpGet(url).trim();

            ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            nameValuePairs.add(new BasicNameValuePair("name", stringToSend));

            res = CustomHttpClient.executeHttpPost(url, nameValuePairs);

        } catch (Exception e) {
            // TODO: handle exception
        }
        return null;
    }

    protected void onPostExecute(Void unused) {
        pd.dismiss();



        if (res != null) {

            Toast.makeText(MainActivity.this, "res", 1000).show();
        }

    }

我得到的回应是 prasad,prasad,prasad,prasad

我应该得到回应

普拉萨德

普拉萨德

普拉萨德

普拉萨德

我该怎么做呢?

4

3 回答 3

0

改变你的for循环。这会做。

  for (String s : contactlist) {
                sb.append(s+"\n");
            }

编辑:

将您的转换ArrayList为字符串数组。

string[] myArray = (string[])list.ToArray(typeof(string));

现在您的myArray变量具有所有prasad

您可以像myArray[0] , myArray[1]... 一样直接访问它,也可以使用 for 循环访问它。

于 2013-08-26T10:05:37.213 回答
0

需要小循环

ArrayList<String> list=new ArrayList<String>();

        list.add("Prasad");
        list.add("Prasad");
        list.add("Prasad");
        list.add("Prasad");

        StringBuilder sb = new StringBuilder();

        for (String string : list) {
            sb.append(string+"\n");
        }
        System.out.println(sb.toString());

更新

for(int i=0; i<list.size(); i++){
   list.get(i); // this is your individual string itself
}
于 2013-08-26T09:55:54.543 回答
0

尝试这个 :

String str="";

for (Object object :  list){
              str= object + "\n";
             // System.out.println(str);
    }

现在在 str 你有一个连续的长字符串。要拆分这个长字符串,您可以使用带有“\n”作为分隔符的拆分方法,如下所示:

String[] strList=str.split("\n");

现在在 strList 数组中,您有所需的字符串。

我希望上面的代码对你有帮助。

于 2013-08-26T09:56:03.970 回答