Spinnerの2級3級甚だしきに至っては多段連動について
, , , ,
:
1、 , spinner 。
2、 , , “ ”, spinner , spinner
spinner , Java
private Spinner suoshushequ,erjisq,sjsq;
まず3つのspinnerを定義し、それからidを探します.
suoshushequ=(Spinner) findViewById(R.id.rkregister_belonetoshequ);//
erjisq=(Spinner) findViewById(R.id.rkregister_sssqerji);//
sjsq=(Spinner) findViewById(R.id.rkregister_sssqsanji);//
そして追加時のコアコード
ArrayAdaptershiadapter3=ArrayAdapter.createFromResource(this,R.array.dongguanshi,android.R.layout.simple_spinner_item);
shiadapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
suoshushequ.setAdapter(shiadapter3);
suoshushequ.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> arg0, View arg1,
int position, long arg3) {
Spinner spinner=(Spinner) arg0;
String aaa=(String) spinner.getItemAtPosition(position);
ArrayAdapter sheadapter3 = ArrayAdapter.createFromResource(CZRKRegisterActivity.this, R.array.gcq, android.R.layout.simple_spinner_item);
if (aaa.equals(" ")) {
if (aa.equals("tj")) {
sheadapter3=ArrayAdapter.createFromResource(CZRKRegisterActivity.this,R.array.gcq,android.R.layout.simple_spinner_item); sheadapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);}else if (aa.equals("xg")) { sheadapter3=CZRKRegisterActivity.this.sheadapter3; sheadapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);}
erjisq.setAdapter(sheadapter3);
erjisq.setVisibility(View.VISIBLE); erjisq.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> arg0, View arg1,int arg2, long arg3) {
Spinner spinner=(Spinner) arg0;
final String bb(String)spinner.getItemAtPosition(arg2);
diqu=bb;
for (int i = 0; i < sqchoose.length; i++) {
if (diqu.equals(sqchoose[i])) {
dbplace=mshequ[i];
}
}
}
@Override
public void onNothingSelected(AdapterView> arg0) {
if (aa.equals("tj")) {
diqu=" ";
for (int i = 0; i < sqchoose.length; i++) {
if (diqu.equals(sqchoose[i])) {
dbplace=mshequ[i];
}
}
}
}
});
}else if (aaa.equals(" ")) {
if (aa.equals("tj")) {
sheadapter3=ArrayAdapter.createFromResource(CZRKRegisterActivity.this, R.array.dcq, android.R.layout.simple_spinner_item);
sheadapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
erjisq.setAdapter(sheadapter3);
}else if (aa.equals("xg")) {
sheadapter3=CZRKRegisterActivity.this.sheadapter4;
sheadapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); }
erjisq.setVisibility(View.VISIBLE);
Log.i("12", aa);
erjisq.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> arg0, View arg1,
int arg2, long arg3) {
Spinner spinner=(Spinner) arg0;
String bb=(String) spinner.getItemAtPosition(arg2);
Log.i("gg", "000000"+bb);
ArrayAdapter zhuadapter3 = ArrayAdapter.createFromResource(CZRKRegisterActivity.this, R.array.zssq, android.R.layout.simple_spinner_item);
if (bb.equals(" ")) {
if (aa.equals("tj")) {
zhuadapter3=ArrayAdapter.createFromResource(CZRKRegisterActivity.this, R.array.zssq, android.R.layout.simple_spinner_item);
zhuadapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sjsq.setAdapter(zhuadapter3);
}
sjsq.setVisibility(View.VISIBLE);
sjsq.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> arg0,View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
Spinner spinner=(Spinner) arg0;
String cc=(String) spinner.getItemAtPosition(arg2);
diqu=cc;
Log.i("31", diqu);
for (int i = 0; i < sqchoose.length; i++) {
if (diqu.equals(sqchoose[i])) {
dbplace=mshequ[i];
}
}
Log.i("31", dbplace);
}
@Override
public void onNothingSelected(AdapterView> arg0) {
if (aa.equals("tj")) {
diqu=" ";
for (int i = 0; i < sqchoose.length; i++) {
if (diqu.equals(sqchoose[i])) {
dbplace=mshequ[i];
}
}
}
}
});
}else { sjsq.setVisibility(View.INVISIBLE);
diqu=bb;
Log.i("21", diqu);
for (int i = 0; i < sqchoose.length; i++) {
if (diqu.equals(sqchoose[i])) {
dbplace=mshequ[i];
}
}
Log.i("21", dbplace);
}
}
@Override
public void onNothingSelected(AdapterView> arg0) {
if (aa.equals("tj")) {
diqu=" ";
for (int i = 0; i < sqchoose.length; i++) {
if (diqu.equals(sqchoose[i])) {
dbplace=mshequ[i];
}
}
}
}
});
}else {
erjisq.setVisibility(View.INVISIBLE);
sjsq.setVisibility(View.INVISIBLE);
diqu=aaa;
Log.i("13", diqu);
for (int i = 0; i < sqchoose.length; i++) {
if (diqu.equals(sqchoose[i])) {
dbplace=mshequ[i];
}
}
}
}
@Override
public void onNothingSelected(AdapterView> arg0) {
dbplace="1";
}
});
これは東莞市、鎮区、コミュニティを例に挙げて、中のitemはすでにvalueの下でarrayファイルを追加しました
次は、変更時のキーコードのいくつかです.まず、新しい方法を作成します.コードは、追加と基本的に同じですが、追加するか変更するかを判断する文を削除して呼び出します.
String suosq=czEntity.getFP09();
for (int i = 0; i < mshequ.length; i++) {
if (suosq.equals(mshequ[i])){
suoshu=sqchoose[i];
}
} zhuadapter3=ArrayAdapter.createFromResource(CZRKRegisterActivity.this,R.array.zssq,android.R.layout.simple_spinner_item);
zhuadapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sheadapter3=ArrayAdapter.createFromResource(CZRKRegisterActivity.this,R.array.gcq,android.R.layout.simple_spinner_item);
sheadapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sheadapter4=ArrayAdapter.createFromResource(CZRKRegisterActivity.this,R.array.dcq,android.R.layout.simple_spinner_item);
sheadapter4.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
for (int i = 0; i < zssq.length; i++) {
if (suoshu.equals(zssq[i])) {
sjsq.setAdapter(zhuadapter3);
sjsq.setVisibility(View.VISIBLE);
setSpinnerItemSelectedByValue(sjsq, suoshu);
erjisq.setAdapter(sheadapter4);
erjisq.setVisibility(View.VISIBLE);
ejsqchoose();
yjsqchoose();
setSpinnerItemSelectedByValue(erjisq, " ");
setSpinnerItemSelectedByValue(suoshushequ, " ");
}else {
for (int j = 0; j < gcq.length; j++) {
if (suoshu.equals(gcq[j])) {
erjisq.setAdapter(sheadapter3); erjisq.setVisibility(View.VISIBLE);
ejsqchoose();
yjsqchoose();
setSpinnerItemSelectedByValue(erjisq, suoshu);
setSpinnerItemSelectedByValue(suoshushequ, " ");
ejsqchoose();
}else {
for (int j2 = 0; j2 < dcq.length; j2++) {
if (suoshu.equals(dcq[j2])) {
erjisq.setAdapter(sheadapter4);
erjisq.setVisibility(View.VISIBLE);
ejsqchoose();
yjsqchoose();
setSpinnerItemSelectedByValue(erjisq, suoshu);
setSpinnerItemSelectedByValue(suoshushequ, " ");
}else {
setSpinnerItemSelectedByValue(suoshushequ, suoshu);
yjsqchoose();
}
}
}
}
}
}
もちろん、ネット上で見つけたこの方法にも依存しています.
public static void setSpinnerItemSelectedByValue(Spinner spinner,String value){
SpinnerAdapter apsAdapter= spinner.getAdapter(); // SpinnerAdapter
int k= apsAdapter.getCount();
Log.i("11111111", "fffff"+k);
for(int i=0;iif(value.equals(apsAdapter.getItem(i).toString())){
spinner.setSelection(i,true);//
break;
}
}
}
これで机能はすべて実现しました.コードが下手で、最悪の方法でこの机能を実现したかもしれませんが、研修を受けたばかりの私には大きな励ましで、引き続き顽张って、実戦の中で成长して、成长の中で総括して、総括の中で远いです.がんばって!