我的主视图有4个复选框和一个提交按钮。我正在尝试从复选框上选择的值构建一个URL。下面是我的页面的基础我不知道如何编程复选框值的集合并提交到我的函数,该函数使用url查询中的复选框值进行http调用。
任何帮助都会很棒。
package com.flash_tattoo;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
import com.flash_tattoo.DataCall;
public class flash_tattoo extends Activity {
private Button get_images;
private CheckBox cb1, cb2, cb3, cb4;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
get_images = (Button)findViewById(R.id.get_images);
CheckBox[] setOfCheckBoxes = new CheckBox[]
{
(CheckBox) findViewById(R.id.checkBox1);
(CheckBox) findViewById(R.id.checkBox2);
(CheckBox) findViewById(R.id.checkBox3);
(CheckBox) findViewById(R.id.checkBox4);
};
for(int i = 0; i < setOfCheckBoxes.length; i++){
setOfCheckBoxes[i].setOnCheckedChangeListener(BasicCheckListener);
}
get_images.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v){
**//HERE IS WHERE I WANT TO GET THE VALUES OF THE CHECKBOX BUILD AN ARRAY AND THEN PASS THE ARRAY TO MY FUNCTION.**
String Image_data = DataCall.getJSON();
}
});
}
}
答案 0 :(得分:1)
if(cb1.isChecked())
{
String url = cb1.getText(); //i assumed you have |x| Text <--- checkbox form
}else if (cb2.isChecked())
{
String url = cb2.getText();
}
...and so on...
但为什么不为每个复选框实施setOnCheckedChangeListener()
方法,只要选中任何复选框,您只需执行一次测试if(checkbox.isChecked()) checkbox.getText()
即可从复选框中获取文字,而不是执行大量ifs
}