Android - вызов файла макета XML в классе, который расширяет представление - PullRequest
0 голосов
/ 22 марта 2012

Я хочу назвать свой файл макета XML в классе, который расширяет представление.Я не могу выполнить функцию создания, потому что она не расширяет активность.Мои события находятся в одном файле класса, и я вызываю этот класс в другом файле класса;но я хочу выполнить эти события в файле макета XML.

Вот мой код:

Demo.java

public class Demo extends Activity
{
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new another(this));
}

another.java

public class another extends View
{
      public anotherView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);

        init();
    }

    public anotherView(Context context) {
        super(context);
        init();
    }

    public anotherView(Context context, AttributeSet attrs) {
        super(context, attrs);  

        init();
    }

    private void init() {
        setWillNotDraw(false);
       ...
        ..
        ..
}

И XML-файл

abc.xml
..
..

Как это сделать?

Ответы [ 2 ]

0 голосов
/ 28 марта 2012

Если вы хотите добавить элемент в свой просмотр, вы всегда можете его надуть.

LayoutInflater inflater = (LayoutInflater)    
getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View view = inflater.inflate(R.layout.ABC, null);
addView(view);
0 голосов
/ 22 марта 2012

Если вы хотите получить элемент из вашего XML вам следует позвонить
[yourviewType]View v1 = (Cast-to-type-of-view)context.findViewById(R.id.idOfView);

Пример: TextView tv1 = (TextView)findViewById(R.id.aboutText);

тебе это нужно?

...