【发布时间】:2013-07-26 15:04:57
【问题描述】:
我有一个FragmentActivity,这个布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/menulabel"
android:textSize="24sp" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text"
android:layout_below="@+id/textView1"
android:hint="@string/search_title_hint" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/spinnersearch"
android:layout_below="@+id/editText1" />
<LinearLayout
android:id="@+id/layout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2" >
<Spinner
android:id="@+id/spinner_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:prompt="@string/spinnersearch" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/reset_search" />
</LinearLayout>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/buttonnewcat"
android:layout_below="@+id/layout1" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/buttondelcat"
android:layout_below="@+id/button2" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/buttoneditcat"
android:layout_below="@+id/button3" />
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/buttonnewtext"
android:layout_below="@+id/button4" />
<Button
android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/buttondeltext"
android:layout_below="@+id/button5" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<side.menu.scroll.ScrollerLinearLayout
android:id="@+id/menu_content_side_slide_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="@drawable/ab_solid_example"
android:orientation="horizontal" >
<ImageView
android:id="@+id/main_tmp_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/actionbar_background"
android:src="@drawable/download" />
</LinearLayout>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_groud" />
</side.menu.scroll.ScrollerLinearLayout>
</RelativeLayout>
ScrollerLinearLayout 类是这样的:
public class ScrollerLinearLayout extends LinearLayout {
// code of the class
}
如何从ScrollerLinearLayout 访问父布局以获取 - 例如 - editetxt? FragmentActivity 和 ScrollerLineraLayout 位于同一项目的不同包中。
我尝试在ScrollerLinearLayout 中以这种方式使用getParent() 函数,但它不起作用。
RelativeLayout r = (RelativeLayout) this.getParent().getParent();
int w = r.findViewById(R.id.editText1).getLayoutParams().width;
有人帮助我吗?谢谢!
【问题讨论】:
-
究竟是什么不起作用?
-
@FD_ 它是
RelativeLayout r = (RelativeLayout) ((ViewGroup) this.getParent()).getParent();上的空指针异常 -
ScrollerLinearLayout在哪里调用此代码? -
@FD_ 在方法
init() -
在调用
init()之前是否将其添加到ViewGroup中?
标签: android android-layout view parent-child