2014-11-26 2 views
0

У меня есть пользовательские линейного макетПользовательских LinearLayout - раздуть макет, когда дети не поставляется в XML

<com.example.DetailsView 
    android:id="@+id/row_ivd_status_details" [...] 
    android:orientation="vertical" > 
</com.example.DetailsView> 

Это в конструкторе вызывает inflate с макетом по умолчанию, теперь я пытаюсь добавить возможность определить расположение в тегах com.example.DetailsView и обнаружить его, чтобы не раздувать макет по умолчанию - но он терпит неудачу.

Я попытался с:

Log.i(TAG, "children:"+getChildCount());//also tried with child count 
if(findViewById(R.id.ivd_tv_status) == null) { 

    inflate(context, R.layout.ivd_layout, this); 
} 

это вызывается из конструкторов. Я хочу, чтобы на следующий макет не вызвать inflate метод

<com.example.DetailsView 
    android:id="@+id/row_ivd_status_details" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <TextView 
     android:id="@+id/ivd_tv_status" 
     [...] /> 


</com.example.DetailsView> 

Можете ли вы предложить метод, из которого я мог бы называть Inflate на основании наличия детей?

ответ

0

Кажется, что в нужном месте находится onFinishInflate, по крайней мере, это сработало для моей потребности.

Смежные вопросы