1

我正在做的是构建一个Android应用程序,它使用我可以做的php脚本接收字符串,但我不能做的是使用“\ n”将该字符串拆分,然后使用它来创建一个AlertDialog .

我正在收到这个字符串;

    String list = "test 1\ntest 2\ntest 3";

然后,我尝试使用下面的方法将其通过管道传输到数组中。我知道我在几英里之外,但似乎找不到任何关于它的东西,有人能指出我正确的方向吗?

    String[] tokens = test.split("\n"); 

    final CharSequence[] items = {tokens};

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Pick a color");
    builder.setItems(items, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
            Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
        }
    });
    AlertDialog alert = builder.create();

    alert.show();
4

1 回答 1

3

为什么要为 CharSequence 创建一个新数组?您可以将令牌数组设置为项目:

final String[] tokens = test.split("\n"); 
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Pick a color");
    builder.setItems(tokens, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
            Toast.makeText(getApplicationContext(), tokens[item], Toast.LENGTH_SHORT).show();
        }
    });
    AlertDialog alert = builder.create();
于 2012-05-05T20:28:45.760 回答