Ошибка ListAdapter - PullRequest
       29

Ошибка ListAdapter

0 голосов
/ 14 января 2012

Может кто-нибудь сказать мне, что не так с этим фрагментом кода?

Предполагается, что это ListView из файла XML, который затем упоминается в Java. Увы, он вылетает из моего приложения каждый раз, когда входит в класс Menu.

public class Menu extends ListActivity {

    String Name_for_classes[] = {"- 1-9 Tabels -", "- 10-19 Tabels -", "- 20-29 Tabels -" };
    String Tabel_classes[] = {"First", "Second", "Third"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setListAdapter(new ArrayAdapter<String>(this, R.layout.menu, Name_for_classes));
        ListView list = getListView();
        list.setTextFilterEnabled(true);
    }
}

Ответы [ 3 ]

2 голосов
/ 14 января 2012

Хорошо, давайте предположим, что у вас есть ListView в файле XML с именем my_listview.xml.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_listview.xml);
    ListView list = (ListView)findViewById(R.id.list);
    ArrayAdapter<String> yourAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, Name_for_classes);
    list.setAdapter(yourAdapter);
}
0 голосов
/ 14 января 2012

Вы забыли вызвать setContentView в своем методе onCreate, поэтому на ваш просмотр списка еще не ссылаются.

Когда вы используете setContentView, это эквивалентно тому, как говорят, для этого действия я хочу использовать шаблон «myTemplate.xml» После этого вы должны «связать» свой атрибут java ListView со списком, объявленным в вашем шаблоне.

0 голосов
/ 14 января 2012

Я не уверен, что находится в R.layout.menu, но догадываюсь по названию его макета активности.Это следует использовать с setContentView (R.layout.menu) в onCreate.Макет, который передается в ArrayAdapter, является TextView, который вы используете для заполнения списка.

...