Мне нужно развернуть один синтаксический анализ 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 для ниже соответствующей категории ...