создание LayoutParams на основе типа родительского элемента

Я обнаружил, что мне нужно создать View полностью на Java, не зная, какой конкретный тип является родительским.

пример:

public View getView(int position, View convertView, ViewGroup parent){
    if(null == convertView){
        convertView = new TextView(parent.getContext());
    }
    ((TextView) convertView).setText(getItem(position).getName());
}

Теперь предположим, что я хотел изменить это так, чтобы convertView был wrap_content в обоих направлениях. Поскольку это адаптер, я бы не хотел связывать адаптер с конкретным типом родителя, но LayoutParams я даю ему в setLayoutParams () должен быть правильного конкретного типа, иначе приложение выйдет из строя (т.е. если родительский элемент является ListView, он должен быть ListView.LayoutParams, если это LinearLayout, это должен быть LinearLayout.LayoutParams и т. д.). Я не хочу чтобы использовать оператор switch, поскольку это просто более гибкая форма связи, и если я присоединю этот адаптер к представлению, которого не ожидал, у меня все равно произойдет сбой. Есть ли общий способ сделать это?

13
задан keyboardr 10 August 2011 в 21:46
поделиться