2016-07-21 2 views
0

У меня есть два 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; 
} 

ответ

1

одна вещь, которую вы можете сделать, это

View convertView; 
if (whatever condition) { 
    convertView = inflater.inflate(R.layout.invite_row, null); 
} else { 
    convertView = inflater.inflate(R.layout.invite_row_two, null); 
} 

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

+0

Условие, если в списке один содержится элемент списка 2, затем раздуйте приглашение row else inflate invite_row_two. Но я хочу проверить это для каждой записи, как этого добиться. –

+0

, например, у вас есть List1 и list2, тогда проверьте obj = list1.get (position) if (list2.contains (obj)) {// раздуваем layout1} else {inflate layout2}, и это будет проверяться для каждого элемента списка1, если вы передали список1 в адаптер –

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