Как я могу реализовать ListView без ListActivity? (используйте только Действие),

Я плохо знаком с Android, и я действительно должен сделать это этот путь (я рассмотрел выполнение его в другом Activity), но может любой показывать мне простой код (просто onCreate() метод), который может сделать Listview без ListActivity?

Спасибо

42
задан Lavekush Agrawal 27 May 2015 в 04:14
поделиться

3 ответа

Ниже приведено создание простого ListView программным путем:

public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         String[] myList = new String[] {"Hello","World","Foo","Bar"};              
         ListView lv = new ListView(this);
         lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,myList));
         setContentView(lv);
}
11
ответ дан 26 November 2019 в 23:33
поделиться

Вы также можете ссылаться на свой макет, создать экземпляр объекта макета из вашего кода, а затем построить ListView на Java. Это дает вам некоторую гибкость с точки зрения установки динамической высоты и ширины во время выполнения.

1
ответ дан 26 November 2019 в 23:33
поделиться

Если у вас есть xml-макет для активности, включающий listView, как здесь

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent" 
android:layout_height="fill_parent">

<ListView android:id="@android:id/list"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:layout_weight="fill_parent"

Тогда в onCreate вы можете сделать что-то вроде этого

setContentView(R.layout.the_view);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, myList);
ListView lv = (ListView)findViewById(android.R.id.list);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener()
{
     @Override
     public void onItemClick(AdapterView<?> a, View v,int position, long id) 
     {
          Toast.makeText(getBaseContext(), "Click", Toast.LENGTH_LONG).show();
      }
});
55
ответ дан 26 November 2019 в 23:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: