【问题】
新建一个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