我正在制作一个生日提醒应用程序,其中我允许用户为他们的朋友添加这些号码存储的电话簿
现在我正在尝试做一些小改动,比如在这里我想如果用户已经为电话本朋友添加了生日,那么就不需要显示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;
}
答案 0 :(得分:1)
在数据库中检查此人的出生日期及其是否存在
setClickable(false)
AND
setEnabled(false)
< / p>
信用:https://stackoverflow.com/a/6750525/2071742
编辑:我认为您希望按钮消失,在这种情况下您应该使用addDateOfBirth.setVisibility(View.GONE);
将其删除。
答案 1 :(得分:1)
在您的AccountDatesOfBirthAdapter.java中,您可以输入类似
的条件if(dateOfBirth != null){
addDateOfBirth.setVisibility(View.GONE);
}else{
addDateOfBirth.setVisibility(View.VISIBLE);
}
答案 2 :(得分: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;
}