これを行う方法を以前は知っていたかのように感じますが、現在は空白を描いています。View ( ) から拡張するクラスがあり、そのCard
レイアウトを XML で記述しました。私がやりたいことは、ビューをCard
コンストラクターの XML ビューに設定することです。これにより、メソッドを使用してs などCard
を設定できます。TextView
助言がありますか?以下のコード:
Card.java: (View.inflate(context, R.layout.card_layout, null);
やりたいことの例としてそこにあるのですが、うまくいきません。基本的には、クラスをビューのインターフェイスにしたいのですが、そのためには、何らかの方法で XML レイアウトを割り当てる必要があります。の行に沿って何かを使用しますか?クラスにsetContentView(View view)
はそのようなメソッドはありませんが、そのようなものはありますか?)View
public class Card extends View {
TextView tv;
public Card(Context context) {
super(context);
View.inflate(context, R.layout.card_layout, null);
tv = (TextView) findViewById(R.id.tv);
}
public Card(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
View.inflate(context, R.layout.card_layout, null);
tv = (TextView) findViewById(R.id.tv);
}
public Card(Context context, AttributeSet attrs) {
super(context, attrs);
View.inflate(context, R.layout.card_layout, null);
tv = (TextView) findViewById(R.id.tv);
}
public void setText(String text) {
tv.setText(text);
}
}
card_layout.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="336dp"
android:layout_height="280dp"
android:layout_gravity="center"
android:background="@drawable/card_bg"
android:orientation="vertical" >
<TextView
android:id="@+id/tv"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:textSize="24dp"
/>
</LinearLayout>