setLayoutParams() returning null ptr



我有一个类似于以下的xml布局结构:

<?xml version="1.0" encoding="utf-8">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:id="@+id/ll"
    android:layout_marginRight="54dp">
    <TextView
       android:id="+@id/tv"
       ....
    />
</LinearLayout

我正在尝试用程序增加线性布局的marginRight。在我的Java代码中,我有这样的东西:

LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(0,0,100,0);
if(something is true){
  ll.setLayoutParams(lp);
}
else {
   //do nothing
}

我在ll.setLayoutParams(lp);

行上得到一个空ptr异常

"ll"没有父级,因此不能为其设置边距,也不能设置填充或为"tv"设置边距

最新更新