2013-02-19 3 views
0

Мне нужно развернуть один синтаксический анализ xml с помощью приложения sax.синтаксический анализ xml данных в android с помощью sax

Здесь я отображается категория, имя и название статьи за принадлежность категории на одной ListView ... его сделали хорошо ..

Но мое требование название категории дисплей GridView и название статьи является отображение на горизонтальной ListView ниже соответствующей категории.

Здесь я должен использовать ниже код означает, я получать следующие ошибки:

Метод setAdapter (ListAdapter) в типе HorizontalListView не применим для аргументов (String)

Laptop.java :

public class Laptop { 
    private String model; 
private String brand; 
public String getModel() { 
    return model; 
} 
public void setModel(String model) { 
    this.model = model; 
} 

public String getBrand() { 
    return brand; 
} 
public void setBrand(String brand) { 
    this.brand = brand; 
}} 

В SaxXMLHandler.java

public void startElement(String uri, String localName, String qName, 
     Attributes attributes) throws SAXException { 
    // reset 
    tempVal = ""; 
    if (qName.equalsIgnoreCase("Category")) { 
     // create a new instance of Laptop 
     laptop = new Laptop(); 
     laptop.setBrand(attributes.getValue("name")); 
    } 
    else if (qName.equalsIgnoreCase("article")) { 
     // create a new instance of Laptop 
     article = new Laptop(); 
     article.setModel(attributes.getValue("title")); 
    } 

В CustomListViewAdapter.java

public class CustomListViewAdapter extends ArrayAdapter<Laptop> { 
    Activity context; 
    List<Laptop> laptops; 

    public CustomListViewAdapter(Context context2, List<Laptop> laptops) { 
    super(context2, R.layout.list_item, laptops); 
    this.context = (Activity) context2; 
    this.laptops = laptops; 
} 

/*private view holder class*/ 
private class ViewHolder { 
    ImageView imageView; 
    HorizontalListView txtModel; 

    TextView txtBrand; 
    TextView txtPrice; 
} 

public Laptop getItem(int position) { 
    return laptops.get(position); 
} 

public View getView(int position, View convertView, ViewGroup parent) { 
    ViewHolder holder; 
    LayoutInflater inflater = context.getLayoutInflater(); 

    if (convertView == null) { 
     convertView = inflater.inflate(R.layout.list_item, null); 
     holder = new ViewHolder(); 
     holder.txtModel = (HorizontalListView) convertView.findViewById(R.id.model); 

     holder.txtBrand = (TextView) convertView.findViewById(R.id.brand); 
     // holder.txtPrice = (TextView) convertView.findViewById(R.id.price); 
     // holder.imageView = (ImageView) convertView.findViewById(R.id.thumbnail); 
     convertView.setTag(holder); 
    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 

    Laptop laptop = (Laptop) getItem(position); 
    // holder.txtModel.setText(laptop.getModel()); 
    holder.txtBrand.setText(laptop.getBrand()); 
    // holder.imageView.setImageBitmap(laptop.getImageBitmap()); 
    // holder.txtPrice.setText(laptop.getPrice() + ""); 

    holder.txtModel.setAdapter(laptop.getModel()); 
    return convertView; 
}} 

В HorizontalListView.java

public void setAdapter(ListAdapter adapter) { 
    if(mAdapter != null) { 
     mAdapter.unregisterDataSetObserver(mDataObserver); 
    } 
    mAdapter = adapter; 
    mAdapter.registerDataSetObserver(mDataObserver); 
    reset(); 
    } 

я получаю вышеуказанную ошибку в следующей строке:

держатель. txtMo del.setAdapter (laptop.getModel());

Как я могу решить эти ??? Как я могу получить название статьи на горизонтальной ListView для ниже соответствующей категории ...

ответ

Смежные вопросы