Uri 为什么有时我会让光标为null或计数等于零
我的应用程序运行良好,它更新了微调器,但有时当我启动活动时,光标变为null,微调器列表将为空,为什么?我的光标似乎为null或其计数为零。尽管它在大多数情况下工作正常,所以光标不可能为null或emply。非常奇怪的行为Uri 为什么有时我会让光标为null或计数等于零,uri,android-arrayadapter,android-contentprovider,android-spinner,android-cursor,Uri,Android Arrayadapter,Android Contentprovider,Android Spinner,Android Cursor,我的应用程序运行良好,它更新了微调器,但有时当我启动活动时,光标变为null,微调器列表将为空,为什么?我的光标似乎为null或其计数为零。尽管它在大多数情况下工作正常,所以光标不可能为null或emply。非常奇怪的行为 public class MainActivity extends Activity { String[] data = { MediaStore.Video.Media.DATA }; ArrayList<String> path; Sp
public class MainActivity extends Activity {
String[] data = { MediaStore.Video.Media.DATA };
ArrayList<String> path;
Spinner path_spinner;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.MainActivity);
path= new ArrayList<String>();
path_spinner = (Spinner) findViewById(R.id.folder_spinner);
Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,data, null, null, null);
if(cursor != null && cursor.getCount() > 0)
{
cursor.moveToFirst();
do {
path.add(cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA))
} while (cursor.moveToNext());
}
ArrayAdapter<String> path_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, path);
path_spinner.setAdapter(path_adapter);
}
}
07-24 15:52:22.300:E/AndroidRuntime(2583):由以下原因引起:java.lang.UnsupportedOperationException:未知URI:content://media/external/audio/media
在光标出现问题之前,一切都很好。现在似乎无法访问内容提供商为什么?光标可能是空的,当屏幕上没有触摸时…@Opsenas cursor不能为空bcoz大多数情况下工作正常cursor\u fol和cursor之间的区别是什么?@Y2isorry实际上我错写了cursor\u fol,它只是cursor。我更新了问题可能是有时外部存储卷没有准备好?
values.put(MediaStore.Audio.Media.TITLE,"audio" + audiofile.getName());
values.put(MediaStore.Audio.Media.MIME_TYPE, "audio/3gpp");
values.put(MediaStore.Audio.Media.DATA, audiofile.getAbsolutePath());
ContentResolver contentResolver = getContentResolver();
Uri base = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
Uri newUri = contentResolver.insert(base, values);