0
我想創建一個ListActivity,其行包含文本和圖像。但它只顯示一行的值,其他行的圖像和文本是不可見的。當我調試代碼時,它們的值不爲空。但它顯示行,但不在佈局上顯示除第一行外的這些文本和圖像值。這裏是我的代碼:只有一行出現在ListActivity
public class SutList extends ListActivity implements XmlListener,OnItemClickListener{
XMLParser xmlParser;
@SuppressWarnings("rawtypes")
ArrayList sutList = new ArrayList();
ProgressDialog sutProgress;
XmlObjectAdapter xmlObj;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
xmlParser = new XMLParser("http://192.168.2.101/eczaplus/AndroidAPI/search.php?searchtype=drug_sut&keyword="+SharedItems.getInstance().clickedObject.map.get("id"));
xmlParser.addMyEventListener(this);
xmlParser.startAsyncTask();
getListView().setOnItemClickListener(this);
}
@Override
public void xmlParsed(XmlEvent evt) {
sutList = evt.ownerClient.children;
xmlObj = new XmlObjectAdapter(this, R.layout.esdegerilac, sutList);
setListAdapter(xmlObj);
}
@Override
public void preExecute(EventObject evt) {
sutProgress = new ProgressDialog(SutList.this);
sutProgress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
sutProgress = ProgressDialog.show(SutList.this,"", "");
}
@Override
public void postExecute(EventObject evt) {
sutProgress.dismiss();
}
private class XmlObjectAdapter extends ArrayAdapter<XmlObject> {
private ArrayList<XmlObject> items;
public XmlObjectAdapter(Context context, int textViewResourceId, ArrayList<XmlObject> items) {
super(context, textViewResourceId, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.sutlist, null);
}
XmlObject o = items.get(position);
// System.out.println(o.map.get("name"));
if (o != null) {
TextView ilacText = (TextView) findViewById(R.id.sutNameText);
ImageView sutImage = (ImageView) findViewById(R.id.sutImage);
//HashMap< String, String> atr = (HashMap<String, String>) o.map;
if (sutImage != null){
if (o.map.get("exists").equals("1"))
sutImage.setImageResource(R.drawable.ok);
else
sutImage.setImageResource(R.drawable.not_ok);
if (ilacText != null)
ilacText.setText(o.map.get("title"));
}
}
return v;
}
}
希望你能幫我弄清楚解決這個問題。
感謝布倫德爾現在的工作:) – wetwork