2011-10-25 10 views
0

行にテキストとイメージが含まれるListActivityを作成しようとしています。しかし、それは1つの行の値だけを表示し、他の行のイメージとテキストは見えません。コードをデバッグするとき、その値はnullではありません。しかし、行は表示されますが、最初の行以外のレイアウトではこれらのテキストとイメージの値は表示されません。ここに私のコードです:ListActivityに1行だけが表示されます

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; 
    } 
} 

私はこの問題を解決するために私を助けることができます願っています。 getViewメソッドであなたのXmlObjectAdapterで

答えて

2

()私は、あなたはそれが動作するようになりまし

v.findViewById() 

だけでなく

findViewById() 
+0

おかげブランデルをしたいと考えている:) – wetwork

関連する問題