Java 如何在Android活动中扩展ListActivity
我想使用Activity extends ListActivity for PullToRefresh。但我使用了CustomActionBar,这就是为什么使用AppCompatActivity。如何解决此问题。高级感谢Java 如何在Android活动中扩展ListActivity,java,android,android-activity,android-listview,Java,Android,Android Activity,Android Listview,我想使用Activity extends ListActivity for PullToRefresh。但我使用了CustomActionBar,这就是为什么使用AppCompatActivity。如何解决此问题。高级感谢 public class CustomActionActivity extends ListActivity public class PullToRefreshActivity extends ListActivity { private LinkedList&l
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);
}
根据Java doucmentation的规定,我们不能继承多个类。因此,如果您想同时使用这两种功能,请在布局中使用
ListView
。如果您想在应用程序中使用ListView,请直接使用它,而不扩展ListActivity。像这样
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);
}
公共类PullToRefreshActivity扩展了AppCompatActivity{
私有链接列表;
PullToRefreshListView listView;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.pull\u到\u刷新);
listView=(PullToRefreshListView)findViewById(R.id.list\u视图);
//设置要在刷新列表时调用的侦听器。
listView.setOnRefreshListener(新的PullToRefreshListView.OnRefreshListener(){
@凌驾
公共void onRefresh(){
//请务必刷新此处的列表。
新建GetDataTask().execute();
}
});
mListItems=新链接列表();
addAll(Arrays.asList(mStrings));
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,mListItems);
setAdapter(适配器);
}
对不起,但是我很难理解这个问题。你能解释清楚吗?在我的活动中,PullToRefresh工作不正常,所以我想使用ListActudio。我已经用PultReRealAc新生编辑了我的文章。考虑使用CurryReVIEW。这是最新的API。
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);
}