在 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();
}
如何将数组值绑定到单个列表视图中。帮我解决这个问题
如果我没理解错的话,你有数组 strArray1
、strArray2
和 strArray3
,但只能弄清楚如何将其中之一传递给 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();
}
我是 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();
}
如何将数组值绑定到单个列表视图中。帮我解决这个问题
如果我没理解错的话,你有数组 strArray1
、strArray2
和 strArray3
,但只能弄清楚如何将其中之一传递给 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();
}