How to access Button inside “include” layout

后端 未结 5 1710
不知归路
不知归路 2020-12-13 12:36

Refer to the doc: http://android-developers.blogspot.com/2009/02/android-layout-tricks-2-reusing-layouts.html

I have a button inside the included layout, how can I a

相关标签:
5条回答
  • 2020-12-13 13:00

    The id you have with the include tag is assigned to the root View of the included layout. First get a reference to that View using findViewByid. Then you can call findViewById on that specific View to get a reference to a View inside the layout. So:

    View myLayout = findViewById( R.id.cell1 ); // root View id from that link
    View myView = myLayout.findViewById( R.id.someinnerview ); // id of a view contained in the included file
    
    0 讨论(0)
  • 2020-12-13 13:05

    Actually include tags include all the elements in your root layout. So you can always access them using findViewById on your Activity.

    Suppose you have a alayout.xml in which there is a include layout. Now in one of your activity A,inside onCreate you declared setContentView(R.layout.alayout) Now inside your include layout you might have a button with id myBtn. You can access that inside onCreate in the same way you could access it if it were in main layout: findViewById(R.id.myBtn)

    0 讨论(0)
  • 2020-12-13 13:13

    i think your mean is NavigationView. you can access to inner layout by this way:

    NavigationView ngv= (NavigationView) findViewById(R.id.navigation_id);
    View innerview =  ngv.getHeaderView(0);
    TextView user_view= (TextView)innerview.findViewById(R.id.nav_name); //any you need
    user_view.setText(user);
    
    0 讨论(0)
  • 2020-12-13 13:14

    All you need is the id of the parent view:

    In this example, the LinearLayout is the parent of the TextView I want from the included View.

    I can now do this:

        View view = findViewById(R.id.include_title_layout);
        TextView titleTV = (TextView) view.findViewById(R.id.newsTitleTextView);
        titleTV.setText("Whatever");
    
    0 讨论(0)
  • 2020-12-13 13:18

    You do know the id of the include. You can get that complete element, and then get one of its children starting from there.

    0 讨论(0)
提交回复
热议问题