1

我正在制作一个生日提醒应用程序,其中我允许用户为他们的朋友添加生日这些数字存储在电话簿中

现在我正在尝试做一些小的改变,就像在这里我想要如果用户已经为电话簿朋友添加了生日那么不需要显示 AddBirthday 按钮,如果用户没有为电话簿朋友添加生日那么需要显示 AddBirthday 按钮

就像在我的电话簿中,他的人名 Akshat 我已经添加了生日,但在这里我也得到了 AddBirthday 按钮,但现在我想禁用这个 AddBirthday 按钮

AccountDatesOfBirthAdapter.java:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (position == 0) {
        if (convertView == null) {
            convertView = this.inflater.inflate(R.layout.editor_account, null);
        }

        ImageView accountIcon = (ImageView) convertView.findViewById(R.id.editor_icon);
        accountIcon.setImageDrawable(this.accountIcon);

        TextView accountType = (TextView) convertView.findViewById(R.id.editor_type);
        accountType.setText(this.accountType);

        TextView accountName = (TextView) convertView.findViewById(R.id.editor_name);
        accountName.setText(this.accountName);

        // To Do:: Enable and Disable button (Birthday Added or not)
        addDateOfBirth = (ImageButton) convertView.findViewById(R.id.editor_new);
        addDateOfBirth.setOnClickListener(this);

        }
        else 
        {               
        DateOfBirth dateOfBirth = this.datesOfBirth.get(position - 1);

        if (convertView == null) {
            convertView = this.inflater.inflate(R.layout.editor_dateofbirth, null);
        }

        TextView date = (TextView) convertView.findViewById(R.id.editor_date);
        date.setText(dateFormatter.format(dateOfBirth.getDate().getTime()));
    }
    return convertView;
}
4

3 回答 3

1

检查数据库中该人的出生日期,如果有的话

setClickable(false)

setEnabled(false)

学分:https ://stackoverflow.com/a/6750525/2071742

编辑:我认为您希望该按钮消失,在这种情况下您应该使用addDateOfBirth.setVisibility(View.GONE);删除它。

于 2013-03-20T09:20:06.297 回答
1

在您的 AccountDatesOfBirthAdapter.java 中,您可以将条件设​​置为

if(dateOfBirth != null){
   addDateOfBirth.setVisibility(View.GONE);
}else{
   addDateOfBirth.setVisibility(View.VISIBLE);
}
于 2013-03-20T09:21:32.067 回答
1

是的,我同意@Kameswari,你只需要在你的 AccountsDateOfBirthAdapter.java 中做一点小改动:

   if(dateOfBirth != null){
       addDateOfBirth.setVisibility(View.GONE);
        }

您的代码应如下所示:

   TextView accountName = (TextView) convertView.findViewById(R.id.editor_name);
        accountName.setText(this.accountName);

        // To Do:: Enable and Disable button (Birthday Added or not)
        addDateOfBirth = (ImageButton) convertView.findViewById(R.id.editor_new);
        addDateOfBirth.setOnClickListener(this);

        }
        else 
        {               
        DateOfBirth dateOfBirth = this.datesOfBirth.get(position - 1);

        if (convertView == null) {
            convertView = this.inflater.inflate(R.layout.editor_dateofbirth, null);
        }

        TextView date = (TextView) convertView.findViewById(R.id.editor_date);
        date.setText(dateFormatter.format(dateOfBirth.getDate().getTime()));

        if(dateOfBirth != null){
               addDateOfBirth.setVisibility(View.GONE);
        }


    }
    return convertView;
}
于 2013-03-20T09:40:51.407 回答