How to extend ListActivity where AppCompatActivity in Android activity

I want to use Activity extends ListActivity for PullToRefresh. But I have a use of CustomActionBar, so use of AppCompatActivity. How to solve this problem. Thanks in Advanced

public class CustomActionActivity extends ListActivity public class PullToRefreshActivity extends ListActivity { private LinkedList<String> mListItems; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.pull_to_refresh); // Set a listener to be invoked when the list should be refreshed. ((PullToRefreshListView) getListView()).setOnRefreshListener(new PullToRefreshListView.OnRefreshListener() { @Override public void onRefresh() { // Do work to refresh the list here. new GetDataTask().execute(); } }); mListItems = new LinkedList<String>(); mListItems.addAll(Arrays.asList(mStrings)); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mListItems); setListAdapter(adapter); } 

Instead of this:

 public class CustomActionActivity extends AppCompatActivity 
+5
source share
2 answers

If you want to use ListView in your application, then use it without the ListActivity extension. Like this

 public class PullToRefreshActivity extends AppCompatActivity { private LinkedList<String> mListItems; PullToRefreshListView listView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.pull_to_refresh); listView = (PullToRefreshListView) findViewById(R.id.list_view); // Set a listener to be invoked when the list should be refreshed. listView.setOnRefreshListener(new PullToRefreshListView.OnRefreshListener() { @Override public void onRefresh() { // Do work to refresh the list here. new GetDataTask().execute(); } }); mListItems = new LinkedList<String>(); mListItems.addAll(Arrays.asList(mStrings)); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mListItems); listView.setAdapter(adapter); } 
+2
source

According to Java doucmentation https://docs.oracle.com/javase/tutorial/java/IandI/multipleinheritance.html we cannot inherit multiple classes. So, if you want to use the functionality, use a ListView inside your layout.

0
source

Source: https://habr.com/ru/post/1238480/


All Articles