android.widget.TextView.setTextAlignment():java.lang.NoSuchMethodError

Pau*_*osa 1 java android adt textview android-xml

情况:

我有一个TextView有财产

android:textAlignment="center"
Run Code Online (Sandbox Code Playgroud)

我正在TextView基于我TextView的XML布局,使用克隆生成另一个dinamically,克隆所有基本属性以便按上述方式工作.

问题:

要做到这一点,我需要使用此方法:

this.myTextView.setMyTextViewProperty(MyTextView.getMyTextViewProperty());
Run Code Online (Sandbox Code Playgroud)

例如:

this.MyTextView.setText(MyTextView.getText());
Run Code Online (Sandbox Code Playgroud)

请注意,这this.MyTextView是一个局部变量,MyTextView是在类名下的文件顶部声明的私有var.

我在所有属性上执行此操作TextView但是当我从TextAlignment属性中点击以下代码行时...:

this.myTextView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
Run Code Online (Sandbox Code Playgroud)

我试图将它设置为自定义Aligment而不是从我的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
Run Code Online (Sandbox Code Playgroud)

但我在Ctrl+上Space看到该方法存在,所以我无法理解发生了什么.

第二次尝试是将我的TextView财产设置为来自我的财产TextView:

this.myTextView.setTextAlignment(MyTextView.getTextAlignment());
Run Code Online (Sandbox Code Playgroud)

也没有成功.

Obs:我不想要一个Android XML Layout解决方案,我想要一个代码解决方案,因为我生成了TextViewdinamically on theActivity

我正在使用API​​ Level 15

有帮助吗?

小智 17

setTextAlignment方法是在API级别17中添加的.也许IDE中的编译器大于17,并且您正在测试的设备/模拟器小于此值.这里是setTextAlignment链接.

从评论中添加:

对于API级别15及以下,您需要setGravity,根据此问题.