3

我想创建一个带有可滚动文本视图的 android 小部件。

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

1. 这个

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

不起作用,因为findViewById在 中不可用,AppWidgetProvider而仅在Activity.

2.把 a 放在ScrollView周围TextView也不起作用,因为我得到一个 InflateException

 android.view.InflateException: Binary XML file line #23: Error inflating class ScrollView

任何人都可以给我一个提示,如何使TextViewWidget 可滚动?

4

5 回答 5

4

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

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

于 2016-10-30T21:32:02.227 回答
3

看起来这是不可能的。

更多信息可以在这里找到:http ://code.google.com/p/android/issues/detail?id=9580

在这里: 如何制作可滚动的应用小部件?

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

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

于 2010-10-07T14:04:11.637 回答
1

我一直在用两个通过数组递增和递减的按钮来解决这个问题。只是无法访问全局变量。你在这方面有什么进展吗?

于 2010-11-21T13:15:10.747 回答
0

另一种解决方案是:

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

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

    textView.setText(HtmlCompat.fromHtml("一些文本" + "\nwww.google.com", HtmlCompat.FROM_HTML_MODE_COMPACT));

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

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

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

于 2021-02-06T05:46:35.517 回答
-4

在 mainactivity.java 中:

代码文本视图后:

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

输入此代码:

txt.setMovementMethod(new ScrollingMovementMethod());

你会没事的。

于 2015-02-06T07:31:35.837 回答