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

Binding multiple array into single list view in android

我是 android 的新手,我在 android 列表视图中工作&array.I 有特定的字符串数组

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" />

我已经添加了列表view.But我无法访问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();
        }

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

如果我没理解错的话,你有数组 strArray1strArray2strArray3,但只能弄清楚如何将其中之一传递给 arrayAdapter.这是正确的吗?

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

或者,您可以 return 数组作为 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();
    }

试试这个

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