以编程方式更改相对布局字段的属性

时间:2012-08-16 09:28:43

标签: android relativelayout

我正在开发一个Android应用程序。在我的应用程序中,我已经更改了textview对齐dynamicaly.textview是在relativelayout。 以下是我的示例xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/all"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
>
<TextView android:id="@+id/snt_txt"
android:layout_width="wrap_content" 
 android:layout_height="wrap_content"
 android:background="@color/Gold"   
 android:text="df"  
 android:layout_marginLeft="5dp"
 android:layout_marginRight="5dp"
 android:padding="3dp"/>
</RelativeLayout>

在java中我做了以下

View vi = inflater.inflate(R.layout.smsconversationsent_row, null);
 RelativeLayout nws=(RelativeLayout)vi.findViewById(R.id.all);
 TextView   message=(TextView)vi.findViewById(R.id.snd_txt);
RelativeLayout.LayoutParams params=(RelativeLayout.LayoutParams)message.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
        message.setLayoutParams(params);

但是我得到了message.getlayoutparams()的nullpointer异常。请帮我解决这个问题

1 个答案:

答案 0 :(得分:1)

nullpointer异常的原因如下:您正在尝试查找 R.id.snd_txt ,但在布局中您有 snt_txt ,因此无法找到视图使用snd_txt id,因为它在布局中不存在。