android.widget.TextView.setTextAlignment():java.lang.NoSuchMethodError
Posted
技术标签:
【中文标题】android.widget.TextView.setTextAlignment():java.lang.NoSuchMethodError【英文标题】:android.widget.TextView.setTextAlignment(): java.lang.NoSuchMethodError 【发布时间】:2013-12-04 20:48:31 【问题描述】:情况:
我有一个TextView
拥有该属性
android:textAlignment="center"
我正在动态生成另一个TextView
,基于我来自 XML 布局的TextView
,使用克隆,克隆所有基本属性以按照上述方式工作。
问题:
为此,我需要使用以下方法:
this.myTextView.setMyTextViewProperty(MyTextView.getMyTextViewProperty());
例如:
this.MyTextView.setText(MyTextView.getText());
请注意,
this.MyTextView
是一个局部变量,MyTextView
是一个私有变量,声明在文件顶部的类名下。
我对@987654330@ 的所有属性都执行此操作,但是当我从TextAlignment
属性中点击以下代码行时...:
this.myTextView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
我尝试将其设置为自定义对齐,而不是从我的 XML TextView
获取它给我一个错误:
11-20 15:27:04.460: E/AndroidRuntime(9185): FATAL EXCEPTION: main
11-20 15:27:04.460: E/AndroidRuntime(9185): java.lang.NoSuchMethodError: android.widget.TextView.setTextAlignment
但我在 Ctrl + Space 上看到该方法存在,所以我无法理解发生了什么。
第二次尝试是,将我的TextView
属性设置为来自我的TextView
的属性:
this.myTextView.setTextAlignment(MyTextView.getTextAlignment());
也没有成功。
Obs:我不想要一个 Android XML 布局解决方案,我想要一个代码解决方案,因为我在 Activity
上动态生成 TextView
我使用的是 API 级别 15
有什么帮助吗?
【问题讨论】:
您正在测试的 api 级别是什么? 我的设备有 API 级别 15(Android 4.0.3) 它在 api 级别 17 中可用。developer.android.com/reference/android/view/… 这就是错误的原因。 【参考方案1】:在 API 级别 17 中添加了 setTextAlignment 方法。也许您在 IDE 中的编译器高于 17,而您正在测试的设备/模拟器低于此。这里是link to setTextAlignment。
从 cmets 添加:
对于 API 级别 15 及以下,您需要 setGravity,每个 this question。
【讨论】:
好的,这很有帮助,但是如果我使用 API 级别 15 设备,我可以做些什么来调整我的TextView
?
@PauloRoberto 正在寻找这个***.com/questions/432037/…
@Raghunandan 这并不能解决我的问题,因为我需要以编程方式设置它,如果我尝试设置/获取我的Gravity
的Gravity
,我会遇到同样的错误TextView
@PauloRoberto 您是如何尝试以编程方式设置重力的。显示代码。
我记不太清了,你能告诉我怎么做吗,所以我再试一次以上是关于android.widget.TextView.setTextAlignment():java.lang.NoSuchMethodError的主要内容,如果未能解决你的问题,请参考以下文章