2014-01-06 2 views
1

У меня есть пользовательский вид, который называется BarGraph, и когда я пытаюсь раздуть его, это не будет.Невозможно надуть пользовательский вид

public class BarGraph extends View { 
public BarGraph(Context context) { 
    super(context); 
    mContext = context; 
    // inflateView(); 
} 

public BarGraph(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    mContext = context; 
    // inflateView(); 
} 
private void inflateView() { 
    LayoutInflater inflater = (LayoutInflater) mContext 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    //This line is wrong, can't inflate BarGraph 
    View v = inflater.inflate(R.layout.bar_graph,this, true); 
    hsv = (HorizontalScrollView) v.findViewById(R.id.hsv_bar_graph); 
} 

Ошибка:

The method inflate(int, ViewGroup, boolean) in the type LayoutInflater is not applicable for the arguments (int, BarGraph, boolean) 
+0

вы должны установить Барграф Просмотреть в своей деятельности – Piyush

+0

вы можете заблокировать макет и добавить к нему пользовательский вид – Raghunandan

+0

К какому классу относятся ваши пользовательские компоненты? – Amith

ответ

0

попробовать это:

View v = inflater.inflate(R.layout.bar_graph,(ViewGroup)this.getParent(), true); 

или установить ViewGroup к нулю.

1

Желаем Вам новый год 2014

пожалуйста, посмотрите на это

inflater.inflate(R.layout.list_layout, null); // no parent 

inflater.inflate(R.layout.schedule_layout, (ViewGroup) lst_item_view, false); // with parent` preserving LayoutParams 

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

1

Второй параметр должен быть ViewGroup, а ваш класс распространяется на View. Она нуждается в ViewGroup, так как метод addView определен для ViewGroup не для View (то есть логическое attachToRoot делает)

0

Продлить пользовательский класс ViewSwitcher Например: customView extends ViewSwitcher Это позволит решить вашу проблему

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