2015-12-17 7 views
5

I Aktivität verwenden möchten ListActivity für PullToRefresh.But erstreckt habe ich Gebrauch CustomActionBar Deshalb AppCompatActivity.How dieses issue.Thanks in Advanced zu lösen mitWie erstreckt ListActivity wo AppCompatActivity in Android Aktivität

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); 
    } 

statt dies:

public class CustomActionActivity extends AppCompatActivity 
+0

Es tut mir leid, aber ich habe Probleme, die Frage zu verstehen. Kannst du versuchen zu klären? –

+0

In meiner Aktivität funktioniert PullToRefresh nicht richtig, so dass ich ListActivity verwenden möchte. Siehe Ich habe meinen Beitrag mit PullToRefreshActivity bearbeitet. –

+0

Verwenden Sie RecyclerView. Dies ist das neueste api http://developer.android.com/reference/android/support/v7/widget/RecyclerView.html –

Antwort

2

Wenn Sie ListView in Ihrer App verwenden möchten, dann verwenden Sie es direkt, ohne ListActivity zu erweitern. So

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); 
} 
Verwandte Themen