Question

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>
Was it helpful?

Solution 2

Problem was my layout. listview wasn't appearing. Code is ok.

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top