Combining ListActivity and ActionBarActivity

前端 未结 2 1730
误落风尘
误落风尘 2020-12-05 10:33

I am currently building for a minimum SDK of 10, so I have to use the android-support-v7-appcompat library to implement ActionBar. I h

相关标签:
2条回答
  • 2020-12-05 11:16

    ListActivity hasn't been ported to AppCompat. Probably because you should consider it 'deprecated', and instead use a ListFragment.

    Fragments will work with a ActionBarActivity, just make sure they are fragments from the support library.

    Have a read through this link about fragments.

    For your use case, I would just define the fragment in xml.

    0 讨论(0)
  • 2020-12-05 11:23

    The easiest way to do this is to use a ListFragment inside of the ActionBarActivity. I did it like this:

    public class MyActivity extends ActionBarActivity {
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    
            MyFragment fragment = new MyFragment();
            getSupportFragmentManager().beginTransaction().replace(android.R.id.content, fragment).commit();
        }
    
        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
                case android.R.id.home: {
                    finish();
                    break;
                }
    
                default: {
                    break;
                }
            }
            return true;
        }
    
        public static class MyFragment extends ListFragment {
    
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
    
                ...
            }
    
            public void onListItemClick(ListView listView, View view, int position, long id) {
                ...
            }
        }
    }
    

    This way you don't even need an xml for it, and it works well.

    0 讨论(0)
提交回复
热议问题