簡體   English   中英

如何從多個復選框中獲取“單個字符串”值,僅選中該復選框

[英]How to get the Single String value from the Multiple checkbox which are only checked

我正在使用微調器來獲取選定的值,並將其上傳到Firebase數據庫。 由於從下拉列表中只能選擇一個值,因此還有另一個Editbox,如果個人也可以使用其他選項,則可以在其中編輯,這是一個漫長的過程。

因此,我希望在Grid視圖中實現多個復選框,以便當用戶選中給定的復選框時,我只能檢索在單個字符串中選中的值,然后再在firebase中上載。

這是我找到的代碼

 public class MainActivity_test extends Activity { CheckBox chk1,chk2,chk3,chk4,chk5,chk6,chk7,chk8,chk9; Button btn; TextView txt; ArrayList<String> list ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); list = new ArrayList<String>(); chk1=(CheckBox)findViewById(R.id.checkBox1); chk2=(CheckBox)findViewById(R.id.checkBox2); chk3=(CheckBox)findViewById(R.id.checkBox3); chk4=(CheckBox)findViewById(R.id.checkBox4); chk5=(CheckBox)findViewById(R.id.checkBox5); chk6=(CheckBox)findViewById(R.id.checkBox6); chk7=(CheckBox)findViewById(R.id.checkBox7); chk8=(CheckBox)findViewById(R.id.checkBox8); chk9=(CheckBox)findViewById(R.id.checkBox9); txt = (TextView)findViewById(R.id.textView1); btn =(Button)findViewById(R.id.button1); addListenerOnButton(); } public void addListenerOnButton() { btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { for (String str : list) { txt.setText(txt.getText().toString() + " , " + str); } } }); } public void onCheckboxClicked(View view) { boolean checked = ((CheckBox) view).isChecked(); switch(view.getId()) { case R.id.checkBox1: list.add(chk1.getTag().toString()); break; case R.id.checkBox2: list.add(chk2.getTag().toString()); break; case R.id.checkBox3: list.add(chk3.getTag().toString()); break; case R.id.checkBox4: list.add(chk4.getTag().toString()); break; case R.id.checkBox5: list.add(chk5.getTag().toString()); break; case R.id.checkBox6: list.add(chk6.getTag().toString()); break; case R.id.checkBox7: list.add(chk7.getTag().toString()); break; case R.id.checkBox8: list.add(chk8.getTag().toString()); break; case R.id.checkBox9: list.add(chk9.getTag().toString()); break; } } } 

但是,如何將“選定項目”的值作為一個“單個字符串”輸出獲得。

提前致謝。

你應該做這樣的事情

public class MainActivity_test extends Activity implements CompoundButton.OnCheckedChangeListener{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test);

    addCheckboxListner();
}

private void addCheckboxListner(){
    chk1.setOnCheckedChangeListener(this);
    chk2.setOnCheckedChangeListener(this);
    chk3.setOnCheckedChangeListener(this);
    chk4.setOnCheckedChangeListener(this);
    chk5.setOnCheckedChangeListener(this);
    chk6.setOnCheckedChangeListener(this);
    chk7.setOnCheckedChangeListener(this);
    chk8.setOnCheckedChangeListener(this);
    chk9.setOnCheckedChangeListener(this);
}

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    onCheckboxClicked(buttonView);
}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM