在android中将多个数组绑定到单个列表视图中

时间:2015-04-15 09:00:09

标签: android arrays android-listview binding

我是Android的新手,我在android列表视图和数组中工作。我有一些字符串数组

try{
    String subString=colValue.text();
    String[] strArray1=subString.split("//certain regex");
    String[] strArray2=subString.split("//certain regex");
    String[] strArray3=subString.split("//certain regex");
    return strArray1;
}

我有像这样的列表视图

@Override
    protected void onPostExecute(String[] result) {            
        ListView list=(ListView)findViewById(R.id.listShow);
        ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(getBaseContext(),android.R.layout.simple_list_item_1,result);
        list.setAdapter(arrayAdapter);
        mProgressDialog.dismiss();
    }

我的listview.xml

<ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/listShow"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/btnData" />

我添加了列表视图。但我无法访问string array variable

try{
       List<String> list = new ArrayList<String>(Arrays.asList(strArray1));
       list.addAll(Arrays.asList(strArray2));
       String [] outResult= (String[]) listString.toArray();
       return outResult;


        } catch (IOException e) {
            e.printStackTrace();
        }

如何将数组值绑定到单个列表视图中。帮助我解决此问题

2 个答案:

答案 0 :(得分:1)

试试这个

try{
            List<String> listString = new ArrayList<String>(Arrays.asList(resultArray));
            listString.addAll(Arrays.asList(resultArray1));
            String [] outResult= new String[listString.size()];
            int i=0;
            for(String str: listString){
                outResult[i]=str;
                i++;
            }
            return outResult;

        } catch (Exception e) {
            e.printStackTrace();
        }

答案 1 :(得分:0)

如果我理解正确,您就拥有数组strArray1strArray2strArray3,但只能弄清楚如何将其中一个传递给arrayAdapter。这是对的吗?

如果是这种情况,也许你可以将数组相互附加,这样你只有一个数组 - 然后你可以传递给适配器?

或者,您可以将数组作为List返回,并创建一个带有字符串列表的Adapter

编辑:我想象过这样的事情:

try{
    String subString = colValue.text();
    List<String> entries = new List<String>();
    entries.addAll(subString.split("//certain regex"));
    entries.addAll(subString.split("//certain regex"));
    entries.addAll(subString.split("//certain regex"));
    return entries;
}

@Override
    protected void onPostExecute(List<String> result) {            
        ListView list = (ListView) findViewById(R.id.listShow);
        ListAdapter<String> listAdapter = new ListAdapter<String>(getBaseContext(), android.R.layout.simple_list_item_1, result);
        list.setAdapter(listAdapter);
        mProgressDialog.dismiss();
    }