列表视图中的不同按钮

时间:2016-07-21 09:22:59

标签: java android listview

我有两个ArrayList即#34;一个"和"两个" [" 2"总是一个"一个"]的子集,我有一个列表视图,由Arraylist" one"填充。现在正在检查条件,如果" 2"出现在" one&#34 ;,然后在列表视图中设置ImageButton,如果不在列表视图中设置Button。 以下是我的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 个答案:

答案 0 :(得分:1)

你可以做的一件事是

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

如果您可以发布您的布局,我将明确知道您想要做什么。