以下のメソッドでは、コンパイラは return ステートメントで String 変数を返すことを許可しません。ローカル変数をアクティビティのクラス フィールドに変更すると、エラーはなくなります。ただし、画像カーソルから取得した文字列を返したいだけでした。ここで何が問題なのですか?これができない場合、なぜできないのでしょうか。
クラスのグローバル フィールド変数を戻り変数として使用したくありません。oncreate 内のような別のメソッド内でメソッドを呼び出すと、カーソルから文字列情報を取得し、その文字列を返すことにもっと興味がありました。
public String checkCursor(){
if(!filename.equals("234")){
String[] proj = {MediaStore.Images.Media.TITLE};
String selection = MediaStore.Images.Media.DATA + "='" + filename +"'";
imageCursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, proj, selection, null, MediaStore.Images.Media._ID );
if( imageCursor != null ){
if( imageCursor.moveToFirst() ){
String testString = (String) imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.IS_PRIVATE));
}
}
}
return testString;
}