У меня есть два ArrayList, а именно «один» и «два» [«два» всегда являются подмножеством «одного»], и у меня есть список, который заполняется Arraylist «one», , Теперь я проверяю условие, что если элемент «два» присутствует в «одном», тогда установите ImageButton в виде списка, а если нет, установите кнопку в виде списка. Ниже мой метод getView
. Любая помощь или ключевые слова будут оценены.Различные кнопки в виде списка
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(context);
//HERE HOW TO SWITCH TWO LAYOUTS..
convertView = inflater.inflate(R.layout.invite_row, null);
viewHolder = new ViewHolder();
viewHolder.name = (TextView)convertView.findViewById(R.id.textView6);
viewHolder.text = (TextView) convertView.findViewById(R.id.childTextView);
viewHolder.button = (Button) convertView
.findViewById(R.id.childButton);
Typeface typeFace= Typeface.createFromAsset(context.getAssets(), "fonts/Roboto-Bold.ttf");
viewHolder.name.setTypeface(typeFace);
// viewHolder.button.setBackgroundResource(R.drawable.invitebuttonbackground);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
final String temp = getItem(position);
final String tempname = getItem(position);
viewHolder.name.setText(tempname);
viewHolder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (customListner != null) {
customListner.onButtonClickListner(position, temp, tempname);
}
}
});
return convertView;
}
Условие, если в списке один содержится элемент списка 2, затем раздуйте приглашение row else inflate invite_row_two. Но я хочу проверить это для каждой записи, как этого добиться. –
, например, у вас есть List1 и list2, тогда проверьте obj = list1.get (position) if (list2.contains (obj)) {// раздуваем layout1} else {inflate layout2}, и это будет проверяться для каждого элемента списка1, если вы передали список1 в адаптер –