Android Widget 中的可滚动 TextView

发布于 2024-09-26 22:31:32 字数 707 浏览 8 评论 0原文

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

对于这个问题给出的解决方案 使 TextView 在 Android 上可滚动 无法应用,因为它是一个小部件:

1。 这

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

不起作用,因为 findViewByIdAppWidgetProvider 中不可用,而仅在 Activity 中可用。

2.在 TextView 周围放置 ScrollView 也不起作用,因为我得到了 InflateException

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

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

I would like to create an android widget with a scrollable textview.

The solutions given to this question
Making TextView scrollable on Android
cannot be applied because it is a widget:

1.
This

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

does not work, since findViewById is not available in AppWidgetProvider but only in Activity.

2.Putting a ScrollView around the TextView also does not work, because I get an
InflateException:

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

Can anybody give me a hint, how to make a TextView in a Widget scrollable?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

注定孤独终老 2024-10-03 22:31:32

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

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

I solved this problem by putting the text view inside ListView with single node, which is supported in App widget.

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

他是夢罘是命 2024-10-03 22:31:32

看起来这是不可能的。

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

和此处:
如何制作可滚动的应用程序小部件?

所以,可能是可能的使 appwidgets 在 HTC sense 环境中可滚动,但不适用于正常的 android 环境。

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

It looks like this is not possible.

More on this can be found here: http://code.google.com/p/android/issues/detail?id=9580

and here:
How to make a scrollable app widget?

So, probably it is possible to do make appwidgets scrollable in the HTC sense environment but not for normal android environments.

A way around this is to add buttons that go up and down in a list.

煮茶煮酒煮时光 2024-10-03 22:31:32

我一直在使用两个按钮来解决这个问题,这两个按钮通过数组递增和递减。只是在访问全局变量时遇到问题。您在这方面取得任何进展了吗?

I have been working on this with two buttons which increment and decrement through an array. Just having trouble accessing the global variables. Did you make any headway on this?

神爱温柔 2024-10-03 22:31:32

另一个解决方案是:

  • 将任何网络链接添加到文本视图 - 例如:www.google.com。< /p>

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

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

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

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

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

Another solution is:

  • Add to textview any web link - for example: www.google.com.

  • Setting text value with HtmlCompat.fromHtml method:

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

After that vertical scrollbar is appeared.
But it's not elegant and full solution. It's temporary workaround maybe...

The complete full solutiion is bat-el-g 's answer - with adding ListView.

Current marked solution (which just tell: "it's not possible") - is wrong.

暮色兮凉城 2024-10-03 22:31:32

在 mainactivity.java 中:

在代码文本视图之后:

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

输入此代码:

txt.setMovementMethod(new ScrollingMovementMethod());

就可以了。

In mainactivity.java:

after code text view:

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

Enter this code:

txt.setMovementMethod(new ScrollingMovementMethod());

and you will be ok.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文