0

アプリケーションのさまざまなレイアウトとアクティビティで使用される EditText と TextView がいくつかあり、それぞれのクラスでそれらすべてを初期化する必要があります。<include>レイアウトにはタグを使用しました。私が探しているのは、このすべての共通ビューを初期化し、いくつかの必要なプロパティを設定し、他のすべてのクラスでこのメソッドを利用できるクラスを持つことができるかということです。

4

1 に答える 1

1

新しいクラス CustomTextView.java を作成します。

public class CustomTextView extends TextView {

    Context mContext;

    public CustomTextView(Context context,AttributeSet attrs){
        super(context,attrs);
        init(context);
    }
    public CustomTextView(Context context) {
        super(context);
        init(context);  
    }

    private void init(Context context){
        LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        if(inflater != null){       
            LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.custom_text_view, new LinearLayout(context));

            mContext = context;


            // set any TextView attribute here...
            this.setText("hello!!!");
        }
    }
}

次に、新しい CustomTextView(this) を呼び出すか、xml に含めます。

custom_text_view.xml:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >    
</TextView> 
于 2012-10-04T13:54:48.303 に答える