В моей программе я пытаюсь отобразить изображение из файла с помощью ImageView. Я объявила, что ImageView связан с XML-файлом ImageView и установил значение для изображения из файла с помощью BitmapFactory. В конце концов, я все еще получаю исключение NullPointerException, потому что переменная ImageView по-прежнему остается нулевой. Если у вас есть какие-либо идеи или советы, пожалуйста, дайте мне знать, спасибо!переменная ImageView, возвращающая значение null даже после определения; Android
Вот код, я говорю:
public void imageViewMethod(String file){
Logger log = Logger.getLogger("com.example.myclass");
try {
File fileName = new File(root, file);
if(fileName.exists()){
String dirFileName = fileName.toString();
Toast.makeText(getApplicationContext(), dirFileName, Toast.LENGTH_LONG).show();
ImageView iv = (ImageView)findViewById(R.id.image);
iv.setImageBitmap(BitmapFactory.decodeFile(dirFileName));
super.setContentView(iv);
}
}catch(Exception e){
Toast.makeText(getApplicationContext(), "Hit Exception", Toast.LENGTH_LONG).show();
log.log(Level.SEVERE, "uncaught exception", e);
}
}
И соответствующий XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp">
</ImageView>
Причина, по которой я не установил ContentView в onCreate, состоит в том, что изначально дисплей представляет собой список, содержащий имена файлов. После выбора имени файла он открывает этот метод при попытке отобразить изображение. Возможно, я должен использовать намерения и начать новую деятельность? Есть еще идеи? – chRyNaN
Итак, ваша текущая деятельность имеет список не xml, как в вопросе, как contentview? –
Да, в текущей активности есть адаптер списка для отображения имен файлов. Затем в методе onItemClick я получаю имя файла, которое было нажато, и вызываю 'imageViewMethod (f2);' - с именем файла f2. – chRyNaN