【问题】
新建一个Activity:
然后去实现对应的onCreate中的初始化:
import android.app.Activity;
public class DirectoryBrowser extends Activity {
private List<String> items = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_directory_browser);
// Show the Up button in the action bar.
//getActionBar().setDisplayHomeAsUpEnabled(true);
getFiles(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/").listFiles());
}
private void getFiles(File[] files){
items = new ArrayList<String>();
items.add(getString(R.string.goto_root));
for(File file : files){
items.add(file.getPath());
}
ArrayAdapter<String> fileList = new ArrayAdapter<String>(this,R.layout.file_list_row, items);
setListAdapter(fileList);
}
}结果出错:
The method setListAdapter(ArrayAdapter<String>) is undefined for the type DirectoryBrowser
【解决过程】
1.后来参考:
Android for Dummies code error
才注意到,之前别人的代码是:
public class DirectoryBrowser extends ListActivity {所以去把代码改为对应的效果,然后添加上import,就变成了:
//import android.app.Activity;
import android.app.ListActivity;
public class DirectoryBrowser extends ListActivity {
//public class DirectoryBrowser extends Activity {
private List<String> items = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_directory_browser);
// Show the Up button in the action bar.
//getActionBar().setDisplayHomeAsUpEnabled(true);
getFiles(new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/").listFiles());
}
private void getFiles(File[] files){
items = new ArrayList<String>();
items.add(getString(R.string.goto_root));
for(File file : files){
items.add(file.getPath());
}
ArrayAdapter<String> fileList = new ArrayAdapter<String>(this,R.layout.file_list_row, items);
setListAdapter(fileList);
}就可以了。
【总结】
当遇到类似于:
The method setListAdapter(ArrayAdapter<String>) is undefined for the type xxx
把对应的类,添加上对应的:
extends ListActivity
其中setListAdapter是属于ListActivity类的;
然后再加上import:
import android.app.ListActivity;
就可以了。
转载请注明:在路上 » 【已解决】Android代码出错:The method setListAdapter(ArrayAdapter<String>) is undefined for the type xxx