views:

54

answers:

2

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.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();

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>
+1  A: 

try companies.add(myCompany) instead of companiesAdapter.add(myCompany).

Megha Joshi
I tried that as well with no luck.
Sheehan Alam
A: 

problem was my layout. listview wasnt appearing. code is ok.

Sheehan Alam