2010-08-29 33 views
1

我正在将项目添加到我的数据源并希望它出现在我的ListView中。出于某种原因,没有什么是出现:添加项目到数据源不会出现在ListView中

适配器:

private class STCompanyAdapter extends ArrayAdapter<STCompany> { 

     private ArrayList<STCompany> items; 

     public STCompanyAdapter(Context context, int textViewResourceId, 
       ArrayList<STCompany> 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.addstocksrow, null); 
      } 
      STCompany q = items.get(position); 
      if (q != null) { 
       TextView symbolText = (TextView) v.findViewById(R.id.toptext); 
       TextView nameText = (TextView) v.findViewById(R.id.bottomtext); 

       if (nameText != null) { 
        nameText.setText(q.getSymbol()); 
       } 
       if (symbolText != null) { 
        symbolText.setText(q.getName()); 
       } 
      } 
      return v; 
     } 
    } 

添加项目中的onCreate:

listView = (ListView) findViewById(R.id.symbolsListView); 
      this.companiesAdapter = new STCompanyAdapter(this, R.layout.addstocksrow, companies); 
      listView.setAdapter(this.companiesAdapter); 

    STCompany myCompany = new STCompany(); 
        myCompany.setName("La La"); 
        myCompany.setSymbol("BP"); 

        companiesAdapter.add(myCompany); 
        companiesAdapter.notifyDataSetChanged(); 

这里是我的布局:

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/LinearLayout"> 
<EditText android:id="@+id/addStocksEditText" android:text="Search company or stock" android:layout_width="200dp" android:layout_height="50dp"></EditText><Button android:layout_height="wrap_content" android:text="Search" android:id="@+id/searchButton" android:layout_width="fill_parent"></Button><ListView android:id="@+id/symbolsListView" android:layout_width="fill_parent" android:layout_height="fill_parent"></ListView> 


</LinearLayout> 

回答

0

问题是我的布局。 listview没有出现。代码是可以的。

1

尝试companies.add(myCompany的)而不是companiesAdapter.add(myCompany)。

+0

我尝试过,没有运气。 – 2010-08-29 22:12:48