Подтвердить что ты не робот

Добавление панели действий в список

Здравствуйте, поэтому я создал список, и я хочу добавить панель действий. Я совершенно новый для android, поэтому я хотел бы знать, как добавить панель действий при использовании ListActivity. Любая помощь будет оценена. благодаря Мой код:

     public class MainActivity extends ListActivity {

     ArrayList<Item> items = new ArrayList<Item>();

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        items.add(new SectionItem("2x2 Matrices"));
        items.add(new EntryItem("Adding 2 Matrices"));
        items.add(new EntryItem("Subtracting 2 Matrices"));
        items.add(new EntryItem("Multiplying 2 Matrices"));
        items.add(new EntryItem("Multiplying by a constant"));
        items.add(new EntryItem("Dividing 2 Matrices"));
        items.add(new EntryItem("Negative of a Matrix"));
        items.add(new EntryItem("Inverse of a Matrix"));
        items.add(new EntryItem("Determinant of a Matrix"));

        /*Section2*/
        items.add(new SectionItem("3x3 Matrices"));
        items.add(new EntryItem("Item 4"));
        items.add(new EntryItem("Item 5"));
        items.add(new EntryItem("Item 6"));
        items.add(new EntryItem("Item 7"));
        /*Section3*/
        items.add(new SectionItem("Category 3"));
        items.add(new EntryItem("Item 8"));
        items.add(new EntryItem("Item 9"));
        items.add(new EntryItem("Item 10"));
        items.add(new EntryItem("Item 11"));
        items.add(new EntryItem("Item 12"));

        EntryAdapter adapter = new EntryAdapter(this, items);

        setListAdapter(adapter);
    }

}
4b9b3361

Ответ 1

Затем в вашем действии метод onCreateOptionsMenu() раздуйте ресурс меню в данное меню, чтобы добавить каждый элемент в панель действий:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity_actions, menu);
    return super.onCreateOptionsMenu(menu);
}

Подробнее о панели действий

Ответ 2

Сначала - Убедитесь, что ваш Android минимум API-14 or later.

Затем добавьте android:theme="@android:style/Theme.Holo.Light.DarkActionBar" в свой класс ListView_Activity в AndroidManifest.xml.

Пример

        <activity android:name=".Your_ListView_Activity"
                  android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
                  android:label="ListView_Activity_Label">

Ответ 3

Вы можете использовать Holo Themes, вам нужно только на этом экране?

В манифесте Android:

Только для одного экрана поместите тему атрибута, например:

<activity
android:theme="@android:style/Theme.Holo.Light.DarkActionBar">
</activity>

Для всего экрана поместите тему атрибута в тег приложения.

<application
android:theme="@style/My_Theme" >

Также вы можете создать пользовательскую тему на основе темы Holo Light.

Пример:

android:theme="@style/My_Theme" >

В styles.xml

<style name="My_Theme" parent="@android:style/Theme.Holo.Light.NoActionBar"></style>

Ответ 4

Вот хороший способ:

В вашем файле макета: activity_main.xml

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

<ListView
    android:id="@+id/list"
    android:layout_height="wrap_content"
    android:layout_width="match_parent">
</ListView>

Теперь для вашей деятельности:

public class MainActivity extends ActionBarActivity
{
    private ListView listView;
    private ListAdapter myAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = (ListView) findViewById(R.id.list);
        myAdapter = new ListAdapter(getApplicationContext());
        listView.setAdapter(myAdapter);

Удачи!

Ответ 5

ListActivity не был перенесен в AppCompat. Вероятно, потому что вы должны считать это "deprecated", а вместо этого используйте ListFragment.

Фрагменты будут работать с ActionBarActivity, просто убедитесь, что они являются фрагментами из библиотеки поддержки.

Прочитайте эту ссылку о фрагментах.

В вашем случае использования я просто определяю фрагмент в xml.