首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ListActivity崩溃

ListActivity崩溃
EN

Stack Overflow用户
提问于 2012-03-12 21:38:16
回答 1查看 137关注 0票数 0

当我点击一个按钮时,我希望打开一个目录中的文件列表。然后点击列表中的一个项目,在文本编辑器中打开该文件。但是当我运行它的时候,应用程序崩溃了。我在代码上有错误的地方吗?

代码语言:javascript
复制
public class LogActivity extends ListActivity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    //click to view log file
    Button openButton = (Button)this.findViewById(R.id.btn_opentext);
    openButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
          File file = new File (Environment.getExternalStorageDirectory(), "/TEST");

          File[] listfiles = null;

          if(file.isDirectory())
              listfiles = file.listFiles();

          for(int i=0;i<listfiles.length;i++)
              Log.i("FileName", listfiles[i].getName());

        if (!file.exists())
        {
            Toast.makeText(LogActivity.this, "File does not exist", Toast.LENGTH_SHORT).show();
        }
        else
        {

          setListAdapter(new ArrayAdapter<File>(LogActivity.this,
                    android.R.layout.simple_list_item_1, listfiles));
            //tap on item on list to open file
            Intent intent = new Intent();
            intent.setAction(android.content.Intent.ACTION_VIEW);
            intent.setDataAndType(Uri.fromFile(file), "text/plain");
            startActivity(intent);
        }  

      }
    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-12 21:48:54

可能您的‘测试’文件夹不存在于SD卡上,在这种情况下,file.listfiles()返回null。然后,当你访问listfiles.length() (用于'for循环‘)时,你会得到一个NullPointerException。

移动“else”部分中使用listfiles的代码。这样,当目录不存在时,您将显示Toast消息,如果存在,它将循环执行日志并创建列表视图。

您还可以使用file.mkdirs(),这样在任何情况下,该目录都将存在,并且当找不到任何文件时,它将只使用空视图。(如果您希望写入SD卡,也请记住添加WRITE_EXTERNAL_STORAGE权限)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9668079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档