Ask*_*tov 4 android nullpointerexception imagebutton layoutparams
我在programmaticaly中创建了按钮,而不是在xml文件中.然后我想在这个链接中设置LayoutParams:如何以编程方式设置相对布局中按钮的layout_align_parent_right属性?
但是当我试图发射时,我有一个例外.
这是我的代码:
RelativeLayout ll2 = new RelativeLayout(this);
//ll2.setOrientation(LinearLayout.HORIZONTAL);
ImageButton go = new ImageButton(this);
go.setId(cursor.getInt(cursor.getColumnIndex("_id")));
go.setClickable(true);
go.setBackgroundResource(R.drawable.go);
RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams)go.getLayoutParams();
params1.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); // LogCat said I have Null Pointer Exception in this line
go.setLayoutParams(params1);
go.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i3 = new Intent(RecipesActivity.this, MedicineActivity.class);
i3.putExtra(ShowRecipe, v.getId());
i3.putExtra("Activity", "RecipesActivity");
RecipesActivity.this.startActivity(i3);
}
});
ll2.addView(go);
Run Code Online (Sandbox Code Playgroud)
为什么我的应用会抛出异常?谢谢.
Jua*_*gcg 20
改变这个:
RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams)go.getLayoutParams();
params1.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
go.setLayoutParams(params1);
Run Code Online (Sandbox Code Playgroud)
对于:
RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
params1.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
go.setLayoutParams(params1);
Run Code Online (Sandbox Code Playgroud)
以编程方式创建视图时,它没有任何LayoutParams,这就是您获得NullPointerException的原因.如果从XML中扩展视图,那么现在将使用LayoutParams来查看视图.
| 归档时间: |
|
| 查看次数: |
9316 次 |
| 最近记录: |