2013-01-03 138 views
0

我有一個帶有複選框的列表,我有兩個按鈕,保存並清除。如何取消複選框,當我點擊清除按鈕,Android:取消選中按鈕上的複選框單擊

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)); 


       } 
      }); 


    } 

任何幫助表示讚賞。

回答

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(); 

     } 
     }); 
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是您的充氣視圖

+0

只有第一個複選框是否清零..? – teekib

+0

獲得空指針異常 – teekib

+0

查看v是你的膨脹視圖??。 – teekib

0

膨脹(findViewById)要編輯的複選框,並調用

myCheckbox.setChecked(false); 
+0

只有第一個複選框正在清除.. ??我在佈局中有一個複選框 – teekib

+0

您應該爲每個要調整的複選框執行此操作 –

+0

我的佈局中只有一個複選框,並且正在重複所有視圖 – teekib

1

在的onclick按鈕

的監聽器添加

chkBOX.setChecked(false); 
+0

只有第一個複選框正在清除.. ?? – teekib

+0

對所有複選框執行全部填充操作。 – Gridtestmail

+0

我在我的佈局中只有一個複選框,並且對所有視圖重複 – teekib

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"> 
+0

獲得classcastexception ...如果你不介意可以在我的問題中與我的代碼集成在一起..謝謝 – teekib

+0

你必須在獨立的.java文件中創建一個獨立的類,我想你已經完成了相同的活動類。如果你只是作爲一個單獨的東西,那麼它將在整個項目中可用。我希望你明白我的觀點。 – Gridtestmail

+0

我創建了separateclas..when iam在我的活動中呼叫它說MyApplication無法解析 – teekib

相關問題