我想用可滚动的textview创建一个android小部件。
给出这个问题的解决方案 Making TextView scrollable on Android 无法应用,因为它是一个小部件:
1。 此
findViewById(R.id.textview).setMovementMethod(new MovementMethod());
不起作用,因为findViewById
中AppWidgetProvider
不提供Activity
,但只有ScrollView
。
2.在TextView
周围放置InflateException
也不起作用,因为我得到了
android.view.InflateException: Binary XML file line #23: Error inflating class ScrollView
:
TextView
任何人都可以给我一个提示,如何使Widget中的{{1}}可滚动?
答案 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());
你会没事的。