java - وصناعة - مسار مبرمج الاندرويد




توسيع إديتكست في أندرويد. ما الخطأ الذي افعله؟ (2)

سوف تحتاج إلى تنفيذ هذه المنشآت:

public class TestEditText extends EditText {
    public TestEditText(Context context) {
        super(context);
    }

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

    public TestEditText(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public TestEditText(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }
}

على سبيل المثال حاول القيام بما يلي:

public TestEditText(Context context, AttributeSet attrs) {
    super(context, attrs);
    Log.i("attribute name at index 0", attrs.getAttributeName(0));
}

سوف تحصل على ما يلي في لوغكات الخاص بك:

attribute name at index 0 = id 

لذلك لتقديم هذه الخصائص شمل إلى فئة سوبر (إديتكست) يجب عليك تجاوز هذه المنشآت.

امل ان يساعد.

لذلك أنا أحاول الحصول على فهم استخدام الضوابط المخصصة في الروبوت. ولكن بلدي تعطل التطبيق على محاولة لخلق النشاط. إليك الشفرة:

package com.myApp;
import android.content.Context;
import android.widget.EditText;
import android.view.View;
import android.view.View.OnClickListener;

public class MyEditText extends EditText implements OnClickListener {

    public MyEditText(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }   
    public void FlashBorder()
    {
        //do some custom action
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        EditText txt = (EditText) v;
        txt.selectAll();
    }
}

إليك تخطيط شمل:

<com.myApp.MyEditText
     android:id="@+id/edtTaskName"
     android:layout_height="wrap_content"
     android:layout_width="match_parent"/> 

لديك لإضافة هذا منشئ لإنشاء أي عرض مخصص.

public MyEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
.....
}

بدلا من

public MyEditText(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }  




extend