Я обнаружил, что мне нужно создать 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, поскольку это просто более гибкая форма связи, и если я присоединю этот адаптер к представлению, которого не ожидал, у меня все равно произойдет сбой. Есть ли общий способ сделать это?