2010-03-09 14 views
0

я определил расположение, как это:Наращивание собственного вида вида из файла макета?

<LinearLayout> 
    <ListView /> 
</LinearLayout> 

, и я хочу использовать класс-обертку для него:

public class MyView extends LinearLayout { 
    ListView mListView; 

    public build() { 
     mListView = (ListView)findViewById(R.id.mylistview); 
    } 
} 

не уверен, как раздуть это из моего файла макета:

MyView v = LayoutInflater.from(this).inflate(R.layout.myview, null); 

Надувник, конечно, не знает, что такое тип «MyView», и возвращает только View. Какой хороший способ примирить это?

ответ

0

Почему вы надуваете LinearLayout в линейной компоновке? Что вам, вероятно, нужно, определите макет для myView. Надуйте его в какой-то процедуре инициализации (для этой точки зрения). И чем вы будете использовать новый вид в макете xml. Подробнее об этом здесь http://developer.android.com/guide/topics/ui/custom-components.html

0

Вы должны определить тип макета в xml.

Вместо вашего XML вы должны объявить его так:

<your.package.MyView> 
<ListView /> 
</MyView> 
Смежные вопросы