画像とテキストを追加できるカスタムビューを作成しようとしています。私がこれを行っている理由は、私が作成しているアプリで、これを達成するために同じコードを何度も繰り返しており、それを独自のカスタム ビューにまとめて、セッターと位置を使用できるようにしたいからです。相互に相対的なビューで、このすべてのコードを 1 つの使いやすいクラスに配置します。
ビューにテキスト ビューとイメージ ビューを追加することはできますが、それらを相互に配置しようとすると、常に NPE がクラッシュします。
これまでのコードは次のとおりです。TextView を追加するだけで、TextView をカスタム ビュー内の中央に配置しようとします。
public class MultiView extends RelativeLayout {
Context cx;
int images = 0;
public MultiView(Context context) {
super(context);
cx = context;
}
public void addText(String textParam) {
TextView tv = new TextView(cx);
tv.setText(textParam);
tv.setTextColor(Color.WHITE);
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) tv
.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
// tv.setLayoutParams(layoutParams); // the app crashes when I add this line
this.addView(tv);
}
}