參考文檔:http://android-developers.blogspot.com/2009/02/android-layout-tricks-2-reusing-layouts.html裏面怎麼訪問按鈕「包括」佈局
我有包括佈局內的按鈕,我怎麼能訪問按鈕?我不知道這個ID!我如何定義OnClickListener ...?
請幫助...
參考文檔:http://android-developers.blogspot.com/2009/02/android-layout-tricks-2-reusing-layouts.html裏面怎麼訪問按鈕「包括」佈局
我有包括佈局內的按鈕,我怎麼能訪問按鈕?我不知道這個ID!我如何定義OnClickListener ...?
請幫助...
你與該ID包括標籤分配給包括佈局的根視圖。 首先使用findViewByid獲取對該視圖的引用。然後,您可以在該特定視圖上調用findViewById以獲取對佈局中的View的引用。所以:
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
爲什麼這不是正確的答案! – 2017-06-02 04:38:45
你知道包含的id。你可以得到這個完整的元素,然後從那裏開始讓它的一個孩子開始。
當多次包含相同的XML佈局時,在解析窗口小部件ID方面存在一個常見的缺陷。在http://www.coboltforge.com/2012/05/tech-stuff-layout/的博客文章解釋了這個問題以及如何解決這個問題!
其實include
標籤包含您的根佈局中的所有元素。所以你可以隨時在你的活動上使用findViewById
訪問它們。
假設您有一個alayout.xml
其中有一個include
佈局。現在在您的活動A之一onCreate
內宣佈setContentView(R.layout.alayout)
現在在您的包含版式中,您可能會有一個ID爲myBtn
的按鈕。您可以訪問內部onCreate
中,你可以訪問它,如果它是在主要佈局以同樣的方式:findViewById(R.id.myBtn)
我覺得你的意思是NavigationView。你可以通過這種方式訪問內部佈局:
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);
爲什麼你不知道ID? – Cristian 2011-01-24 20:51:31