0

拡張するクラスを作成しましたTextView

public class EmployeeTextView extends TextView {

    private String employeeId;

    private String employeeName;

    public EmployeeTextView( Context context, String employeeId,
            String employeeName ) {
        super( context );
        this.employeeId = employeeId;
        this.employeeName = employeeName;
    }

    public String getEmployeeId( ) {
        return employeeId;
    }

    public void setEmployeeId( String employeeId ) {
        this.employeeId = employeeId;
    }

    public String getEmployeeName( ) {
        return employeeName;
    }

    public void setEmployeeName( String employeeName ) {
        this.employeeName = employeeName;
    }

    @Override
    public CharSequence getText( ) {
        return this.employeeId + " - " + this.employeeName;
    }

}

このクラスをメインのアクティビティにどのように実装しますか?EmployeeTextViewこれらの「 」をプログラムで作成する必要がありますか?または、カスタムウィジェットを作成し、XMLを介して追加してから、ゲッターとセッターを呼び出す方法はありますか?

このカスタムTextViewが必要な理由は、employeeIdまたはemployeeNameを個別に取得する必要があるためです。

ありがとう

4

3 に答える 3

3

layout.xml に次のように追加します

<your_package_name.EmployeeTextView 
      android:id="@+id/view_id"
      other attributes
/>

ここで your_package_name はクラス EmployeeTextView の src パッケージです

を使用してクラスキャストで

EmployeeTextView v = (EmployeeTextView ) findViewById(R.id.view_id);
于 2013-03-14T13:59:19.793 に答える
1

layout.xml で完全修飾名を使用します。

あなたの場合:

<com.example.EmployeeTextView ... />

于 2013-03-14T13:59:51.317 に答える
1

通常の TextView と同じように、XML 内でも使用します。その前にパッケージ名を追加するだけです。

于 2013-03-14T14:00:45.053 に答える