Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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
android应用程序中getter和setter方法出错_Android_Eclipse_Xml Parsing_Getter Setter - Fatal编程技术网

android应用程序中getter和setter方法出错

android应用程序中getter和setter方法出错,android,eclipse,xml-parsing,getter-setter,Android,Eclipse,Xml Parsing,Getter Setter,我正在使用android应用程序,getter和setter方法中出现错误: 类型SitesList中的方法setItem(ArrayList)不适用于参数(字符串) 它在myMyXmlHandler文件的第行显示了上述错误:siteList.setItem(currentValue) 这是我的MyXmlHandler文件: package com.example.svnitupdates; import org.xml.sax.Attributes; import org.xml.sax.S

我正在使用android应用程序,getter和setter方法中出现错误:

类型SitesList中的方法setItem(ArrayList)不适用于参数(字符串)

它在myMyXmlHandler文件的第行显示了上述错误:
siteList.setItem(currentValue)

这是我的MyXmlHandler文件:

package com.example.svnitupdates;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class MyXmlHandler extends DefaultHandler {

Boolean currentElement = false;
String currentValue = null;
public static SitesList siteList = null;

public static SitesList getSitesList() {
    return siteList;
}

public static void setSitesList(SitesList sitesList) {
    MyXmlHandler.siteList = sitesList;
}

@Override
public void startElement(String uri, String localName, String qName,
        Attributes attributes) throws SAXException {

    currentElement = true;

    if (localName.equals("maintag"))
    {
        /** Start */
        siteList = new SitesList();
    } 

}
@Override
public void endElement(String uri, String localName, String qName)
        throws SAXException {

    currentElement = false;

    /** set value */
    if (localName.equalsIgnoreCase("item"))
        siteList.setItem(currentValue);
}

@Override
public void characters(char[] ch, int start, int length)
        throws SAXException {

    if (currentElement) {
        currentValue = new String(ch, start, length);
        currentElement = false;
    }

}
}
这是我的站点列表。java

package com.example.svnitupdates;

import java.util.ArrayList;

import com.example.svnitupdates.R.string;

public class SitesList {

private ArrayList<String> item = new ArrayList<String>();
private ArrayList<String> chapter = new ArrayList<String>();

public ArrayList<String> getItem() {
    return item;
}
public void setItem(ArrayList<String> item) {
    this.item = item;
}
public ArrayList<String> getChapter() {
    return chapter;
}
public void setChapter(ArrayList<String> chapter) {
    this.chapter = chapter;
}

}
package com.example.svnitupdates;

import java.net.URL;
import java.util.ArrayList;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

public class UpdatesActivity extends Activity
{
private ListView listview;
    SitesList siteList = null;  

  @Override
  protected void onCreate(Bundle savedInstanceState) 
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.updates);

    listview = (ListView) findViewById(R.id.updatesListView);
    final ArrayList<String> list = new ArrayList<String>();


                 try {

        /** Handling XML */
        SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp = spf.newSAXParser();
        XMLReader xr = sp.getXMLReader();

        /** Send URL to parse XML Tags */
        URL sourceUrl = new URL(
                "http://localhost/svnit%20updates/updates.xml");

        MyXmlHandler myXMLHandler = new MyXmlHandler();
        xr.setContentHandler(myXMLHandler);
        xr.parse(new InputSource(sourceUrl.openStream()));

    }catch (Exception e) 
    {
        System.out.println("XML Parsing Excpetion = " + e);
        }


    siteList = MyXmlHandler.siteList;



    for (int i = 0; i < siteList.getItem().size(); ++i) 
    {
        list.add(siteList.getItem.get(i));
    }
    final UpdatesAdapter adapter = new UpdatesAdapter(UpdatesActivity.this, 
         android.R.layout.simple_list_item_1, list);           

    listview.setAdapter(adapter);

    listview.setItemsCanFocus(false);

    listview.setOnItemClickListener(new AdapterView.OnItemClickListener() 
    {
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
          {
            Intent i = new Intent(UpdatesActivity.this, ArticleActivity.class);
            i.putExtra("s", position);
            startActivity(i);
          }
    }); 
  }
     }
package com.example.svnitupdates;
导入java.util.ArrayList;
导入com.example.svnitupdates.R.string;
公共类站点列表{
私有ArrayList项=新建ArrayList();
private ArrayList chapter=new ArrayList();
公共阵列列表getItem(){
退货项目;
}
公共无效集合项(ArrayList项){
this.item=项目;
}
公共阵列列表getChapter(){
返回章节;
}
公共无效设置章节(ArrayList章节){
本章=本章;
}
}
这是我的更新活动。java

package com.example.svnitupdates;

import java.util.ArrayList;

import com.example.svnitupdates.R.string;

public class SitesList {

private ArrayList<String> item = new ArrayList<String>();
private ArrayList<String> chapter = new ArrayList<String>();

public ArrayList<String> getItem() {
    return item;
}
public void setItem(ArrayList<String> item) {
    this.item = item;
}
public ArrayList<String> getChapter() {
    return chapter;
}
public void setChapter(ArrayList<String> chapter) {
    this.chapter = chapter;
}

}
package com.example.svnitupdates;

import java.net.URL;
import java.util.ArrayList;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

public class UpdatesActivity extends Activity
{
private ListView listview;
    SitesList siteList = null;  

  @Override
  protected void onCreate(Bundle savedInstanceState) 
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.updates);

    listview = (ListView) findViewById(R.id.updatesListView);
    final ArrayList<String> list = new ArrayList<String>();


                 try {

        /** Handling XML */
        SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp = spf.newSAXParser();
        XMLReader xr = sp.getXMLReader();

        /** Send URL to parse XML Tags */
        URL sourceUrl = new URL(
                "http://localhost/svnit%20updates/updates.xml");

        MyXmlHandler myXMLHandler = new MyXmlHandler();
        xr.setContentHandler(myXMLHandler);
        xr.parse(new InputSource(sourceUrl.openStream()));

    }catch (Exception e) 
    {
        System.out.println("XML Parsing Excpetion = " + e);
        }


    siteList = MyXmlHandler.siteList;



    for (int i = 0; i < siteList.getItem().size(); ++i) 
    {
        list.add(siteList.getItem.get(i));
    }
    final UpdatesAdapter adapter = new UpdatesAdapter(UpdatesActivity.this, 
         android.R.layout.simple_list_item_1, list);           

    listview.setAdapter(adapter);

    listview.setItemsCanFocus(false);

    listview.setOnItemClickListener(new AdapterView.OnItemClickListener() 
    {
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
          {
            Intent i = new Intent(UpdatesActivity.this, ArticleActivity.class);
            i.putExtra("s", position);
            startActivity(i);
          }
    }); 
  }
     }
package com.example.svnitupdates;
导入java.net.URL;
导入java.util.ArrayList;
导入javax.xml.parsers.SAXParser;
导入javax.xml.parsers.SAXParserFactory;
导入org.xml.sax.InputSource;
导入org.xml.sax.XMLReader;
导入android.app.Activity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ListView;
公共类更新活动扩展活动
{
私有列表视图列表视图;
SitesList siteList=null;
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.updates);
listview=(listview)findViewById(R.id.updatesListView);
最终ArrayList=新ArrayList();
试一试{
/**处理XML*/
SAXParserFactory spf=SAXParserFactory.newInstance();
SAXParser sp=spf.newSAXParser();
XMLReader xr=sp.getXMLReader();
/**发送URL以解析XML标记*/
URL sourceUrl=新URL(
"http://localhost/svnit%20updates/updates.xml");
MyXmlHandler MyXmlHandler=新的MyXmlHandler();
xr.setContentHandler(myXMLHandler);
parse(新的InputSource(sourceUrl.openStream());
}捕获(例外e)
{
System.out.println(“XML解析expetion=“+e”);
}
siteList=MyXmlHandler.siteList;
对于(int i=0;i
在上面的代码中,第行显示了一个错误:
list.add(siteList.getItem.get(i))
位于“
.getItem

显示“create field,create constant”(创建字段,创建常量)。

我认为这是因为
setItem(ArrayList item)
获取了一个字符串的ArrayList,您可以用一个字符串调用它,
siteList.setItem(currentValue)当前值是一个字符串。@ramaral我知道这是问题所在,但解决方法是什么。