Android Widget中的可滚动TextView

时间:2010-10-07 08:04:20

标签: android android-widget textview scrollable android-appwidget

我想用可滚动的textview创建一个android小部件。

给出这个问题的解决方案 Making TextView scrollable on Android 无法应用,因为它是一个小部件:

1。 此

 findViewById(R.id.textview).setMovementMethod(new MovementMethod());

不起作用,因为findViewByIdAppWidgetProvider不提供Activity,但只有ScrollView

2.在TextView周围放置InflateException也不起作用,因为我得到了 android.view.InflateException: Binary XML file line #23: Error inflating class ScrollView

TextView

任何人都可以给我一个提示,如何使Widget中的{{1}}可滚动?

5 个答案:

答案 0 :(得分:4)

我通过将文本视图放在具有单个节点的ListView内来解决了这个问题,App小部件支持该节点。

http://developer.android.com/guide/topics/appwidgets/index.html#collections

答案 1 :(得分:3)

看起来这是不可能的。

有关详细信息,请访问:http://code.google.com/p/android/issues/detail?id=9580

在这里: How to make a scrollable app widget?

所以,可能有可能在HTC感知环境中使appwidgets可滚动,但不适用于普通的android环境。

解决这个问题的方法是添加在列表中上下移动的按钮。

答案 2 :(得分:1)

我一直在用两个按钮来处理这个按钮,它们通过数组递增和递减。只是无法访问全局变量。你有没有取得进展呢?

答案 3 :(得分:0)

另一种解决方案是:

  • 将任何网络链接添加到 textview - 例如:www.google.com

  • 使用 HtmlCompat.fromHtml 方法设置文本值:

    textView.setText(HtmlCompat.fromHtml("some text" + "\nwww.google.com", HtmlCompat.FROM_HTML_MODE_COMPACT));

出现垂直滚动条之后。 但这不是优雅和完整的解决方案。这可能是临时解决方法...

完整的解决方案是 bat-el-g 的答案 - 添加 ListView。

当前标记的解决方案(只是告诉:“这是不可能的”)- 是错误的。

答案 4 :(得分:-1)

在mainactivity.java中:

代码文本视图后

TextView txt = (TextView) findViewById(R.id.textView id);

输入以下代码:

txt.setMovementMethod(new ScrollingMovementMethod());

你会没事的。