Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过列表<;类名>;适应_Java_Android - Fatal编程技术网

Java 通过列表<;类名>;适应

Java 通过列表<;类名>;适应,java,android,Java,Android,问题是这个适配器给出了错误,尽管我已经将对象数组传递给它。(阅读下面的方法,然后你们会发现我想从你们那里知道的东西) 此方法声明私有类对象的列表。然后将该对象列表返回给onPostExecute方法 private class DownloadXmlTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... urls) {

问题是这个适配器给出了错误,尽管我已经将对象数组传递给它。(阅读下面的方法,然后你们会发现我想从你们那里知道的东西)

此方法声明私有类对象的列表。然后将该对象列表返回给onPostExecute方法

private class DownloadXmlTask extends AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... urls) {
        try {

            return loadXmlFromNetwork(urls[0]);

        } catch (IOException e) {
            return "I/O exception ae hy";
        } catch (XmlPullParserException e) {
            return "XML pull parser ke exception ae hy";
        }
    }

    @Override
    protected void onPostExecute(List<StackOverflowXmlParser.Entry> result) {
        //Log.d(TAG,result.toString());
        ArrayAdapter<String> adapter;
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,result);
        setListAdapter(adapter);
    }

    private Object loadXmlFromNetwork(String urlString) throws XmlPullParserException, IOException {
        InputStream stream = null;
        // Instantiate the parser
        StackOverflowXmlParser stackOverflowXmlParser = new StackOverflowXmlParser();
        List<StackOverflowXmlParser.Entry> entries = null;
        String title = null;
        String url = null;
        String summary = null;


        try {
            stream = downloadUrl(urlString);
            entries = stackOverflowXmlParser.parse(stream);

        } finally {
            if (stream != null) {
                stream.close();
            }
        }
        for (StackOverflowXmlParser.Entry entry : entries)
        {
            Log.d(TAG, entry.link + " /" + entry.title);
        }

            return entries;
    }
私有类下载XmlTask扩展AsyncTask{
@凌驾
受保护的字符串doInBackground(字符串…URL){
试一试{
返回loadXmlFromNetwork(URL[0]);
}捕获(IOE异常){
返回“I/O异常ae hy”;
}catch(XMLPullParseRexE){
返回“XML pull解析器ke异常ae hy”;
}
}
@凌驾
受保护的void onPostExecute(列表结果){
//Log.d(标记,result.toString());
阵列适配器;
adapter=newarrayadapter(这是android.R.layout.simple\u list\u item\u 1,结果);
setListAdapter(适配器);
}
私有对象loadXmlFromNetwork(字符串urlString)抛出XmlPullParserException,IOException{
InputStream=null;
//实例化解析器
StackOverflowXmlParser StackOverflowXmlParser=新的StackOverflowXmlParser();
列表条目=空;
字符串标题=null;
字符串url=null;
字符串摘要=null;
试一试{
stream=下载URL(urlString);
entries=stackOverflowXmlParser.parse(流);
}最后{
if(流!=null){
stream.close();
}
}
for(StackOverflowXmlParser.Entry:entries)
{
Log.d(标签,entry.link+“/”+entry.title);
}
返回条目;
}
数组适配器
要求您为其提供一个
字符串[]
列表
。您正在尝试传入
对象[]
,该对象既不是
字符串[]
列表
。而且,您似乎确实在尝试使用
StackOverflowXmlParser.Entry
对象列表填充
列表视图
,这些对象不是
字符串
对象

我猜正确的答案是创建
ArrayAdapter
,而不是
ArrayAdapter


无论如何,您需要确保声明中的数据类型(
ArrayAdapter
中的
String
)与提供要调整的数据的构造函数参数中的数据类型相匹配。

我认为应该是
onPostExecute(列表结果)

你的任务应该是


extends AsyncTask

错误仍然存在。实际上,我解析xml,从每篇文章中获取链接和标题标记。该链接和标题在Entry类中声明。entries=stackOverflowXmlParser.parse(stream);获取该列表,并将其发送到OnPostExuect。从那里,我想填充列表视图。那么在onPostExecute()中应该做什么@user3585510:看起来您有不止一个错误;请查看Alex的答案,了解我最初遗漏的另一个错误。更准确地说,我遵循了本教程:现在我希望条目填充到列表视图中。我已编辑了问题并发布了该类。请检查该类,并让我知道我应该在哪里以及应该在哪里更准确地说,我遵循了本教程:现在我希望在列表视图中填充条目