gpt4 book ai didi

java - 将字符串数组放入 android 中的 ListView 时出错

转载 作者:行者123 更新时间:2023-11-30 02:14:17 25 4
gpt4 key购买 nike

我正在努力将字符串数组放入 ListView 中。当我这样做时出现错误

Error:(127, 47) error: no suitable constructor found for ArrayAdapter(PrimaryActivity.FetchWebsiteData,int,Void)
constructor ArrayAdapter.ArrayAdapter(Context,int,int) is not applicable
(argument mismatch; PrimaryActivity.FetchWebsiteData cannot be converted to
Context)constructor ArrayAdapter.ArrayAdapter(Context,int,String[]) is not applicable(argument mismatch; PrimaryActivity.FetchWebsiteData cannot be converted to Context)constructor ArrayAdapter.ArrayAdapter(Context,int,List<String>) is not applicable
(argument mismatch; PrimaryActivity.FetchWebsiteData cannot be converted to Context)

我的java代码是

protected Void doInBackground(Void... params) {

ArrayList<String> hrefs=new ArrayList<String>();
try {

// Connect to website
} catch (IOException e) {

e.printStackTrace();
}

//parsing first URL
try {

//listValue=colValue.text();
String subString=colValue.text();
String[] result=subString.split("(?<=[a-z])\\.(?=\\s*[A-Z])|[,:]");
//expose all array values
//listValue=result[1];
/*
for(int i=0;i<result.length;i++) {

listValue=result[0];
}*/
} catch (IOException e) {

e.printStackTrace();
}
return null;
}

我想做的就是 String array named resultlist view 而我使用 array adapter 做 list view 的值是像这样

protected void onPostExecute(Void result) {

ListView list=(ListView)findViewById(R.id.listShow);
ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, result);
list.setAdapter(arrayAdapter);
mProgressDialog.dismiss();
}

如何解决错误以及如何将字符串数组的值放入我提到的 ListView 中。

最佳答案

问题是您试图将 AsyncTask 的实例作为参数传递给 ArrayAdapter 构造函数。您应该改为传递 Activity 实例:

ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(PrimaryActivity.this, android.R.layout.simple_list_item_1, result);

编辑:

我注意到您遇到的另一个问题 - 您的 AsyncTask 返回一个 Void 类型,但您正在等待 String[] 类型。所以你需要像这样更改泛型定义中的最后一个参数、返回类型和参数类型:

class FetchWebsiteData extends AsyncTask<Void, Void, String[]> {
protected String[] doInBackground(Void... params) {
ArrayList<String> hrefs=new ArrayList<String>();
try {
// Connect to website
} catch (IOException e) {
e.printStackTrace();
}

//parsing first URL
try {

//listValue=colValue.text();
String subString=colValue.text();
String[] result=subString.split("(?<=[a-z])\\.(?=\\s*[A-Z])|[,:]");
return result;
//expose all array values
//listValue=result[1];
/*
for(int i=0;i<result.length;i++)
{
listValue=result[0];
}*/

} catch (IOException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String[] result) {
ListView list=(ListView)findViewById(R.id.listShow);
ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(PrimaryActivity.this, android.R.layout.simple_list_item_1, result);
list.setAdapter(arrayAdapter);
mProgressDialog.dismiss();
}
}

关于java - 将字符串数组放入 android 中的 ListView 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29622222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com