簡體   English   中英

加載Android ListActivity時出現文件列表錯誤

[英]File list error on load Android ListActivity

我收到此錯誤,並且我不知道是誰出了問題。 在某些設備上可以使用de app,但在其他設備上則會出現此錯誤。

//這就是代碼

package com.neoadn.takerenamephoto;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class ListaFotos extends ListActivity {

private File file, temp_file;
private List<String> myList;
String root_sd;
File imagen;
String direccionFile;

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getListView().setBackgroundResource(R.drawable.fondo_p);

    myList = new ArrayList<String>();   

    root_sd = Environment.getExternalStorageDirectory().toString();
    file = new File( root_sd + "/Pictures/TRPHOTO" ) ;       
    File list[] = file.listFiles();

    for( int i=0; i< list.length; i++)
    {
            myList.add( list[i].getName() );
    }

    setListAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, myList ));

第41行是:

    for( int i=0; i< list.length; i++)

這顯示了文件和文件夾到某些文件夾的listactivity。

更新:

最后,我用它來解決問題:(如果list不為null,則加載。如果為null,則不加載)

    if(list != null) {
    for( int i=0; i< list.length; i++) {
        // do your for loop
    }
}

當以下語句返回null時,就會發生這種情況:

File list[] = file.listFiles();

當目錄“文件”不包含任何文件時,可能會發生這種情況。 因為你的清單列表因此為空,下面的語句

for( int i=0; i< list.length; i++)

使用NullPointerException崩潰。 我建議您在進入for循環之前檢查列表變量是否為空:

if(list != null) {
    for( int i=0; i< list.length; i++) {
        // do your for loop
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM