Android编程无法查看列表中的文件,setlistadapter无法解析

Android编程无法查看列表中的文件,setlistadapter无法解析,android,listview,Android,Listview,我想开发一个应用程序,用列表显示第三方应用程序捕获的数据,并在选择列表中的文件项时执行进一步的操作。我不知道为什么setListAdapter不起作用,我试图更改extendsListActivity,但它会导致我的应用程序崩溃,下面是我的代码: package com.example.long123.testlistfile; import android.app.Activity; import android.app.ListActivity; import android.content

我想开发一个应用程序,用列表显示第三方应用程序捕获的数据,并在选择列表中的文件项时执行进一步的操作。我不知道为什么
setListAdapter
不起作用,我试图更改extends
ListActivity
,但它会导致我的应用程序崩溃,下面是我的代码:

package com.example.long123.testlistfile;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.nfc.Tag;
import android.os.Environment;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

import java.io.File; 
import java.io.FilenameFilter; 
import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.List;


public class listfile extends ListActivity {
    /*ArrayList<String> files = new ArrayList<String>();*/
    private List<String> mainListView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_listfile);
        mainListView = (List<String>) findViewById(R.id.mainListView);
        Button btnRefresh = (Button) findViewById(R.id.btnRefresh);

    }


    public void btnRefresh(View v){
        File mfile=new File("/storage/emulated/0/Android/data/jp.co.taosoftware.android.packetcapture/files");
        File[] list=mfile.listFiles();
        mainListView = new ArrayList<String>();
        for( int i=0; i< list.length; i++) {
            mainListView.add(list[i].getName());
        }
        setListAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, mainListView));
        /* File[] rootFiles = File.listRoots();
        File storage = Environment.getExternalStorageDirectory();
        for(int i = 0; i <rootFiles.length; i++){
            File[] directory = rootFiles[i].listFiles();
            for (int j = 0; j< directory.length; j++){
                files.add(directory[j].getAbsolutePath());
            }
        }
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(listfile.this,
            android.R.layout.simple_expandable_list_item_1, files);
        mainListView.setAdapter(adapter);*/

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_listfile, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
package com.example.long123.testlistfile;
导入android.app.Activity;
导入android.app.ListActivity;
导入android.content.Context;
导入android.content.Intent;
导入android.nfc.Tag;
导入android.os.Environment;
导入android.support.v7.app.ActionBarActivity;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.ListView;
导入java.io.File;
导入java.io.FilenameFilter;
导入java.util.ArrayList;
导入java.util.array;
导入java.util.List;
公共类listfile扩展ListActivity{
/*ArrayList files=新的ArrayList()*/
私有列表视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u列表文件);
mainListView=(List)findViewById(R.id.mainListView);
按钮btnRefresh=(按钮)findViewById(R.id.btnRefresh);
}
公共无效btnRefresh(视图五){
File mfile=新文件(“/storage/emulated/0/Android/data/jp.co.taosoftware.Android.packetcapture/files”);
File[]list=mfile.listFiles();
mainListView=newarraylist();
for(int i=0;i对于(int i=0;i这行代码似乎是错误的:

mainListView = (List<String>) findViewById(R.id.mainListView);
当您想要扩展ListActivity时,您应该在xml布局文件中添加这种id声明

android:id="@android:id/list"
您将获得您的ListView作为

ListView listview = this.getListView();

可以找到详细信息。

您能给我一个示例代码,用于在列表中加载带有该文件路径的文件吗?真的很困惑吗
ListView listview = this.getListView();