Android Studio - Java - Присоединение ImageView к макету, определенному в файле XML - PullRequest
0 голосов
/ 15 февраля 2019

Мой код следующий:

ImageView iv = new ImageView(R.layout.activity_main_menu);

Ошибка, которую я получаю:

ImageView (android.content.Context) in ImageView cannot be applied to (int)

Я думаю, как-то мой макет хочет вернуть целочисленное значение, я просто хочучтобы установить мой ImageView для моего макета, спасибо за помощь!

РЕДАКТИРОВАТЬ:

enter image description here

РЕДАКТИРОВАТЬ 2:

У меня настроено отображение моего макета, и я вижу его при запуске приложения, я сделал фон зеленоватым, так что я уверен в этом:

setContentView(R.layout.activity_main_menu);

Вот файл .xml:

FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#162216"
    tools:context=".main.MainMenuActivity">
</FrameLayout>

У меня определен макет, определен мой ImageView, вопрос в том, как соединить их вместе, чтобы ImageView стал частью макета, чтобы его можно было отображать в виде картинки?

Хотя мой макет определен в XML-файле, мой ImageView записан непосредственно в мой класс .java

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

, хотя это решение НЕПРАВИЛЬНО и не делает этого так.

xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/frameLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#162216"
    tools:context=".main.MainMenuActivity">
</FrameLayout>

код:

FrameLayout frameLayout = (FrameLayout) findViewById(R.id.frameLayout);
ImageView imageView = new ImageView(this);
imageView.setBackgroundResource(R.drawable.imageResource);
frameLayout.addView(imageView);

Если вы хотите иметь много изображений на потом, вам нужно, чтобы они были наиболее вероятными в режиме переработчика, есть вероятность, что вам не нужно будет их переработать, так что вы пойдете срешение добавить их в LinearLayout.

Примечание: FrameLayout может иметь только 1 дочерний элемент

0 голосов
/ 15 февраля 2019

Установите R.layout.activity_main_menu) в вашем методе onCreate. Вот так:

setContentView (R.layout.activity_main_menu);

Затем установите ID вашего imageView из xml

ImageView iv = новый ImageView (это);

...