我有TextView
的视图和RelativeLayout
中的自定义视图。我正在对xml
进行夸大,我看到TextView
和CustomView
都已呈现。现在我想修改TextView
中的文本,具体取决于用户的操作。如何从视图中访问TextView
?我认为以下内容可行,但我得到了一个空 -
mDisplay = (TextView)this.findViewById(R.id.displayBuffer);
上面的内容来自Activity内部,但我真的想访问它并从View中修改它。
编辑:我没有发布代码,因为它可能会分散注意力。我在想从View里面访问/修改TextView应该是一个普通的问题,而且与我的布局没有任何关系。说完这里是布局 -
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/question"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="ASDFASDF"
android:textColor="#ffFFFFFF"
android:layout_gravity="center_vertical"
android:paddingBottom="9dip"
android:layout_marginLeft="3dip"
android:layout_marginRight="2dip"/>
<com.ac.gui.CustomView
android:layout_below="@+id/question"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
谢谢, - P
答案 0 :(得分:4)
假设两个视图位于相同的布局层次结构中:
mDisplay = (TextView) this.getRootView().findViewById(R.id.displayBuffer);
如果您查看docs,findViewById
会搜索其子视图,那么您应该在搜索之前进入层次结构。
答案 1 :(得分:0)
我正在给xml充气
所以你不会直接通过this.findViewById
View view = inflater........
然后使用
view.findViewById