2013-03-14 4 views
0

Я создал класс, который расширяет TextViewAndroid - как использовать пользовательский 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, а затем называть его getter и setter?

Причина, по которой мне нужен этот пользовательский TextView, заключается в том, что мне нужно получить employeeId или employeeName индивидуально.

Благодаря

ответ

3

в layout.xml добавить как следующий

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

здесь your_package_name является ЦСИ пакет класса EmployeeTextView

в классе гипсе с помощью

EmployeeTextView v = (EmployeeTextView) findViewById(R.id.view_id); 
+0

Вы имеете в виду в файле макета xml, а не в манифесте справа? –

+0

в xml добавить представление, как вы делаете с другими видами. и в вашем коде, используя последний код строки моего ответа – stinepike

+0

yah sorry в layout.xml .. мой плохой – stinepike

1

Используйте форму полное квалифицированное имя в вашем layout.xml.

В вашем случае:

< com.example.EmployeeTextView ... />

1

Используйте его, как обычно с TextView, а также в XML. Просто добавьте свое имя пакета перед этим.