1

チェックボックス付きのリストがあり、保存とクリアの 2 つのボタンがあります。クリアボタンをクリックしたときにチェックボックスをオフにする方法、

public class myProfileActivity extends Activity {
    private List<Profile> contacts = null;
    private String TAG = "ContactListActivity";
    private String inputName;
    ListView lvContact;
    private Activity _activity;

    private ListView mainListView;
    private Profile[] itemss;
    private ArrayAdapter<Profile> listAdapter;
    ArrayList<String> checked = new ArrayList<String>();
    public static List<AttractionData> selectedData = new ArrayList<AttractionData>();
    private String profileType = null;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        ContentResolver cr = this.getContentResolver();
        setContentView(R.layout.profilelist);
        _activity = this;

        profileType = getIntent().getExtras().getString("ProfileType");

        try {
            if (Constants.loadEntries != null) {
                Constants.loadEntries.cancel(true);
            }
        } catch (Exception e) {
            Log.e(TAG, "Loading Data------", e);
        }
        Constants.loadEntries = new LoadEntries();
        Constants.loadEntries.execute();
        EditText editTxt = (EditText) findViewById(R.id.txtContName);

        editTxt.addTextChangedListener(new TextWatcher() {

            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
            }

            public void afterTextChanged(Editable s) {
                inputName = s.toString();
                Log.d(TAG, "LoadMoreEntries --> Constants.loadEntries : "
                        + Constants.loadEntries);
                try {
                    if (Constants.loadEntries != null) {
                        Constants.loadEntries.cancel(true);
                    }
                } catch (Exception e) {
                    Log.e(TAG, "Loading Data--------", e);
                }
                Constants.loadEntries = new LoadEntries();
                Constants.loadEntries.execute();
            }

            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {

            }
        });


        Button clearbtn = (Button) findViewById(R.id.clearbtn);
        clearbtn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {


        }
        });



        Button savebtn = (Button) findViewById(R.id.savebtn);
        savebtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                if (Constants.selectedContacts.size() > 0) {
                    ((CityPreferences) ProfileActivity.this.getApplication())
                            .storeAllContacts(Constants.selectedContacts);
                    Constants.selectedContacts= new ArrayList<Profile>();
                    finish();
                    v.getContext().startActivity(
                            new Intent(v.getContext(), PalABActivity.class)
                                    .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));


                } 
            });


    }

どんな助けでも大歓迎です。

4

5 に答える 5

2

ボタンの onclick リスナーで

追加

    chkBOX.setChecked(false);
于 2013-01-03T10:33:54.533 に答える
1

これは私のために働いた

 Button clearbtn1 = (Button) findViewById(R.id.clearbtn);
        clearbtn1.setOnClickListener(new OnClickListener() {
            @Override

            public void onClick(View v) {
              for(int i=0;i < Constants.checkBoxState.length; i++)      
                 Constants.checkBoxState[i] = false;

              listAdapter.notifyDataSetChanged();

        }
        });
于 2013-01-04T07:19:29.003 に答える
1
final CheckBox checkBox = (CheckBox) findViewById(R.id.checkbox_id);
checkBox.setChecked(false);

編集:

View v;
final CheckBox checkBox = (CheckBox) v.findViewById(R.id.checkbox_id);

view vインフレート ビューはどこにありますか

于 2013-01-03T10:31:44.407 に答える
0

編集したいチェックボックスを膨らませて(findViewById)、呼び出すだけです

myCheckbox.setChecked(false);
于 2013-01-03T10:31:51.467 に答える
0

このようなクラスを作成します。

    public class MyApplication extends Application{

       private int check_state = 1;

        public void setState(int state)
           {
         check_state = state;
           }
        public int getState()
           {
          return check_state;
           }

      }

あなたの活動の中で

チェックボックスの状態を設定したい場所

        ((MyApplication)getApplication()).setState(0);

チェックボックスの状態を取得したい場所

        ((MyApplication)getApplication()).getState();

マニフェスト ファイルで

    <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" 
    android:name=".MyApplication">
于 2013-01-03T11:02:16.527 に答える