我正在创建一个使用导航抽屉的应用程序。但是,我使用的导航抽屉布局或设计来自其他XML文件,而不是位于MainActivity上。我在使用的布局中有一个图像,希望在MainActivity上用作SetOnClickListener。但是我不知道如何定义MainActivity中单独XML文件中的图像。
答案 0 :(得分:0)
在您的情况下,您有2个不同的XML文件(布局文件)
主要活动
导航抽屉
每个布局文件必须具有自己的java类才能访问视图对象。
但是,如果您没有用于导航抽屉的其他Java类,请使用LayoutInflater将XML布局充气到视图中,然后可以将侦听器设置为所需的任何视图
在主要活动中添加:
LayoutInflater inflater = (LayoutInflater)context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
View rootView = li.inflate(R.layout.my_navigation_drawer_layout,null,false);
注意*用my_navigation_drawer_layout替换您的布局文件名
现在您可以声明图像视图并使用我们之前创建的rootView中的findViewById
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!!!
}
});
答案 1 :(得分:0)
在MainActivity类的XML上使用<include>
标记很容易做到
<include
android:layout = "YOUR LAYOUT OF THE NAVIGATION"/>