0

我有一个字符串数组,它是使用逗号标记器从 MultiAutoCompleteTextView 中选择的选项的结果。字符串如下所示:“印度、中国、日本、美国、澳大利亚”

我需要根据昏迷位置分离这些值并将这些值设置为不同的文本视图。此外,我需要限制用户只选择 5 个值,并且这些值不应重复。

4

3 回答 3

1

使用这样的东西:

String myListAsString = "India, China, Japan, America, Australia";
String[] countries = myListAsString.split(",");
TextView t1 = (TextView)findViewById(R.id.t1);
TextView t2 = (TextView)findViewById(R.id.t2);
TextView t3 = (TextView)findViewById(R.id.t3);
TextView t4 = (TextView)findViewById(R.id.t4);
TextView t5 = (TextView)findViewById(R.id.t5);
t1.setText(countries[0]);
t2.setText(countries[1]);
t3.setText(countries[2]);
t4.setText(countries[3]);
t5.setText(countries[4]);
于 2015-05-07T12:15:14.183 回答
1

你可以String.split()这样使用:

String[] array = yourString.split(",");

并遍历该数组。

编辑:

要检查用户是否已经选择了该项目,您可以将一个添加OnItemClickListener到您的multiAutoCompleteTextView并且有一个HashSet或一个Set存储您单击的项目的位置,并检查该项目是否已经存在于集合中

例子:

初始化你的HashSet第一个:HashSet<String> hashset = new HashSet<String>();

然后:

youMultiAutoCompleteTv.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            String itemClicked = parent.getAdapter().getItem(position).toString();
            if(hashset.contains(itemClicked)){
                Toast.makeText(getApplicationContext(), "Item exists", Toast.LENGTH_SHORT).show();
            }
            else {
                hashset.add(itemClicked);
            }


        }
    });
于 2015-05-07T12:15:49.473 回答
0

你可以使用这个:

   String input = editText.getText().toString().trim(); //Getting String from view.

   String[] singleInputs = input.split("\\s*,\\s*"); //Splitting in proper way.
于 2018-07-04T09:34:10.653 回答