Adding items to data source doesn't appear in ListView
I am adding items to my data source and would like it to appear in my ListView. For some reason nothing is appearing:
Adapter:
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;
}
}
Adding items in onCreate:
listView = (ListView) findViewById(R.id.symbolsListView);
this.companiesAd开发者_开发技巧apter = 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();
Here is my layout:
<?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>
try companies.add(myCompany) instead of companiesAdapter.add(myCompany).
Problem was my layout. listview wasn't appearing. Code is ok.
精彩评论