Определение из другого файла XML - PullRequest
0 голосов
/ 22 февраля 2019

Я создаю приложение, которое использует навигационный ящик.Однако используемая мной компоновка или дизайн навигационного ящика взят из другого файла XML, а не из моей MainActivity.У меня есть изображение в макете, который я использую, и который я хочу применить в качестве SetOnClickListener на моей MainActivity.Но я понятия не имею, как я могу определить изображение, которое находится в отдельном файле XML в моей MainActivity.

Ответы [ 2 ]

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

То, что вы хотите сделать, легко с помощью тега <include> поверх XML класса MainActivity

<include 
 android:layout = "YOUR LAYOUT OF THE NAVIGATION"/>
0 голосов
/ 22 февраля 2019

в вашем случае у вас есть 2 разных XML-файла (файлы макетов)

  1. основная активность

  2. блок навигации

каждый файл макета должен иметь собственный класс java для получения доступа к объектам просмотра.

, но если у вас нет другого класса java для ящика навигации, используйте LayoutInflater для надувания макета XMLк представлению, затем вы можете получить доступ к набору Listener для любого из представлений, которые вы хотите

в основной активности. Добавьте:

LayoutInflater inflater = (LayoutInflater)context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);

View rootView = li.inflate(R.layout.my_navigation_drawer_layout,null,false);

note * замените имя файла макета на my_navigation_drawer_layout

теперь вы можете объявить представление изображения и использовать findViewById из rootView, который мы создали ранее

final ImageView img = (ImageView) rootView.findViewById(R.id.myImageViewName)

, теперь вы можете установить слушателя на img:

img.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            // write your code here!!!
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...