我在RelativeLayout中有两个Textview,如下所示:
<RelativeLayout>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
(*) android:layout_above="@+id/message"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true" />
<ScrollView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_weight="1">
<TextView
android:id="@+id/message"
android:layout_width="302dp"
android:layout_height="wrap_content"
android:layout_above="@+id/editText1"/>
</ScrollView>
我希望Textview id'd“message”可以滚动。所以我在ScrollView中添加了它,但我放了一个星(android:layout_above)我得到错误:@ + id / message不是同一RelativeLayout中的兄弟
我该如何解决这个问题?任何帮助表示赞赏
答案 0 :(得分:3)
首先,您必须从
中删除“+”这个
android:layout_above="@+id/message"
要
android:layout_above="@id/message"
使用TextView的滚动方法而不是scrollview
<TextView
android:scrollbars="vertical" // Add this to your TextView in .xml file
android:maxLines="ANY_INTEGER" // also add the maximum line
android:id="@+id/message"
android:layout_width="302dp"
android:layout_height="wrap_content"
android:layout_above="@id/editText1"/>
然后在.java文件中为上面的textview添加以下方法。
TextView message = (TextView) findViewById(R.id.message);
message.setMovementMethod(new ScrollingMovementMethod());
答案 1 :(得分:3)
它给出了这个错误,因为TextView的父级不是相对布局,而是ScrollView。而是给你的ScrollView一个id,然后使用:
android:layout_above="ScrollView id here"
答案 2 :(得分:0)
为您的ScrollView提供id并相对于ScrollView对齐
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
(*) android:layout_above="@+id/scroll"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true" />
<ScrollView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_weight="1"
android:id="@+id/scroll">
<TextView
android:id="@+id/message"
android:layout_width="302dp"
android:layout_height="wrap_content"
android:layout_above="@+id/editText1"/>
</ScrollView>
答案 3 :(得分:0)
将TextView id移动到ScrollView,以便above
引用兄弟。
<RelativeLayout> <TextView android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content" (*)
android:layout_above="@+id/message"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true " />
<ScrollView
android:layout_width="wrap_content"
android:id="@+id/message
android:layout_height="wrap_content"
android:layout_weight="1"> <TextView
android:id="@+id/message"
android:layout_width="302dp"/>
</ScrollView>`
答案 4 :(得分:0)
不要使用scrollview来使TextView Scrollable。而是像这样使用滚动运动方法。
TextView message = (TextView) findViewById(R.id.message);
message.setMovementMethod(new ScrollingMovementMethod());