我收到了这个错误,我不知道是谁的问题。在某些设备上工作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++)
这显示了文件和文件夹在某些文件夹中的列表活动。
更新:
最后我使用它来解决问题:(如果列表不为null,则加载。如果为null则不加载)
if(list != null) {
for( int i=0; i< list.length; i++) {
// do your for loop
}
}
答案 0 :(得分:3)
当以下语句返回null时会发生:
File list[] = file.listFiles();
当你的目录“file”不包含任何文件时,就会发生这种情况。因为列表列表因此为空,所以语句为
for( int i=0; i< list.length; i++)
使用NullPointerException崩溃。我建议你在进入for循环之前检查你的列表变量是否为null:
if(list != null) {
for( int i=0; i< list.length; i++) {
// do your for loop
}
}