gpt4 book ai didi

android - TextView 在更新和滚动时绘制乱码的文本

转载 作者:行者123 更新时间:2023-11-30 03:38:40 43 4
gpt4 key购买 nike

我创建了一个测试 android 应用程序,它在 RabbitMQ 服务器上监听一个主题并在 TextView 中显示消息。

一切正常,除了在添加到“输出” TextView 的每条新消息上,新文本都被绘制在旧文本之上。滚动时也会发生同样的情况,如第二张图片所示。当应用程序进入后台并再次激活时,文本将再次正常显示(见图 1)。

normal output

garbled output

我的布局非常简单:我做错了什么?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="60dp" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Connection status" />

<TextView
android:id="@+id/status"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:saveEnabled="false"
android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Received messages:" />

<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/output"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:saveEnabled="false"
android:textAppearance="?android:attr/textAppearanceSmall" />
</ScrollView>

这是我处理传入的新消息的地方:

final Handler myViewUpdateHandler = new Handler() {
// @Override
public void handleMessage(Message msg) {
switch (msg.what) {
case NEWSTATUS:
status.setText((String) msg.obj);
status.invalidate();
//also add to output
case NEWMESSAGE:
String oldText= (String) output.getText();
output.setText("");

String newText = DateUtil.getClockTimeMillis()+" "+(String) msg.obj+"\n"+oldText;

output.setText(newText);
output.invalidate();
break;
default:
throw new IllegalArgumentException("no case for:" + msg.arg1);
}
super.handleMessage(msg);
}
};

最佳答案

我遇到了完全相同的问题。就我而言,这是发生了什么以及我是如何解决的:

  • 首先,我添加了具有全屏属性的第二个 Activity (通过 eclipse 向导)

  • 然后我决定不使用那个花哨的动画全屏,所以我
    编辑布局 XML 文件并将其更改为正常的相对 View 。

  • 应用 list 文件表明该 Activity 仍在使用全屏主题。

  • 我已经删除了这些行并且...问题已解决。

如果您为布局设置了全屏主题,请尝试将其更改为应用主主题。

关于android - TextView 在更新和滚动时绘制乱码的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16208790/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com