【发布时间】:2013-10-23 17:51:04
【问题描述】:
我使用以下样式来布局按钮:
<style name="Button.Web" parent="@android:style/TextAppearance.Small">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:singleLine">true</item>
<item name="android:autoLink">web</item>
</style>
按钮本身嵌套在一些LinearLayouts 中,这些ExpandableListView 包裹在其中:
<Button
android:id="@+id/button_web"
style="@style/Button.Web" />
在BaseExpandableListAdapter 的子类中,我为按钮的每个实例动态设置文本:
Button buttonWeb = (Button) convertView.findViewById(R.id.button_web);
buttonWeb.setText("http://www.example.com/" + page);
当我展开 ExpandableListView 的一个项目时,会显示该按钮(请参阅“数字 2”和“数字 4”中的按钮)。然而,它上面没有呈现文本。当我触摸按钮时,文本出现(参见“数字 3”中的按钮)。
实验
- 我注意到
android:singleLine和android:autoLink的组合 会产生所描述的行为。 - 我发现
android:singleLine实际上被弃用为stated in the API documentation。因此,我按照那里的建议测试了android:maxLines设置为1。这会产生一个带有垂直滚动的多行文本的按钮。
【问题讨论】:
标签: android expandablelistview textview android-xml android-button