1

私は誕生日リマインダーアプリを作成しています。このアプリでは、ユーザーが友達の誕生日を追加できるようにしています。これらの番号は電話帳に保存されています。

今、私は小さな変更を行おうとしています。たとえば、ユーザーがすでにPhonebookの友達の誕生日を追加している場合は、AddBirthdayボタンを表示する必要はありません。また、ユーザーがPhonebookの友達の誕生日を追加していない場合は、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

はい、@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 に答える
1

Your AccountDatesOfBirthAdapter.java では、次のような条件を設定できます

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