Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中使用依赖微调器(多微调器)的问题_Android_Arrays_Filter_Android Spinner - Fatal编程技术网

android中使用依赖微调器(多微调器)的问题

android中使用依赖微调器(多微调器)的问题,android,arrays,filter,android-spinner,Android,Arrays,Filter,Android Spinner,我试图从上一个微调器填充下一个微调器的值。在本例中,我所做的是在微调器内生成所有值,这意味着无论我在上一个微调器中选择哪个值,它总是在下一个微调器中显示所有值。我使用了五个微调器,它们需要根据前一个微调器填充值。这里我使用了一个微调器库。图书馆如下 'com.toptoche.searchablespinner:searchablespinnerlibrary:1.3.1' 在这里,我将分享我的全部代码/课程供您参考。没有错误,我在各自的微调器中获取所有值,但我希望根据上一个微调器获取值。这是

我试图从上一个微调器填充下一个微调器的值。在本例中,我所做的是在微调器内生成所有值,这意味着无论我在上一个微调器中选择哪个值,它总是在下一个微调器中显示所有值。我使用了五个微调器,它们需要根据前一个微调器填充值。这里我使用了一个微调器库。图书馆如下

'com.toptoche.searchablespinner:searchablespinnerlibrary:1.3.1'
在这里,我将分享我的全部代码/课程供您参考。没有错误,我在各自的微调器中获取所有值,但我希望根据上一个微调器获取值。这是我的密码

import androidx.appcompat.app.AppCompatActivity;
import com.toptoche.searchablespinnerlibrary.SearchableSpinner;

public class Catchment extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

public ArrayAdapter<String> regionAdapter;
public ArrayAdapter<String> districtAdapter;
public ArrayAdapter<String> upzAdapter;
public ArrayAdapter<String> unionAdapter;
public ArrayAdapter<String> villageAdapter;
public String[] Region = {"1", "2",
};
public String[] District = {"1","2","3","4","5","6","7","8",};
public String[] Upz = {"1","2"...."23";
public String[] Union = {"1","2"...."25"..."50"...."115"};
public String[] Village = { "1","2"...."25"..."50"...."150"...."500"...."947"   };
Button catchment_code;
SearchableSpinner spinner_region, spinner_district, spinner_upz, spinner_union, spinner_village;
String[] region_code;
String[] district_code;
String[] upz_code;
String[] union_code;
String[] vill_code;
int positions;
String test;

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

    spinner_region = (SearchableSpinner) findViewById(R.id.region);
    spinner_district = (SearchableSpinner) findViewById(R.id.district);
    spinner_upz = (SearchableSpinner) findViewById(R.id.upz);
    spinner_union = (SearchableSpinner) findViewById(R.id.union);
    spinner_village = (SearchableSpinner) findViewById(R.id.village);

    catchment_code = findViewById(R.id.catchment_code);


    // Set spninner adapter
    regionAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, Region);
    districtAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, District);
    upzAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, Upz);
    unionAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, Union);
    villageAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, Village);

    //Set dropdown to the spinner
    regionAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    districtAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    upzAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    unionAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    villageAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    //assign to spinner
    spinner_region.setAdapter(regionAdapter);
    spinner_district.setAdapter(districtAdapter);
    spinner_upz.setAdapter(upzAdapter);
    spinner_union.setAdapter(unionAdapter);
    spinner_village.setAdapter(villageAdapter);

    spinner_region.setOnItemSelectedListener(this);
    spinner_district.setOnItemSelectedListener(this);
    spinner_upz.setOnItemSelectedListener(this);
    spinner_union.setOnItemSelectedListener(this);
    spinner_village.setOnItemSelectedListener(this);
}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

    if (parent.getId() == R.id.region) {
        positions = spinner_region.getSelectedItemPosition();
        region_code = this.getResources().getStringArray(R.array.region_code);
        //Toast.makeText(this, region_code[positions], Toast.LENGTH_SHORT).show();
    }
    if (parent.getId() == R.id.district) {
        positions = spinner_district.getSelectedItemPosition();
        district_code = this.getResources().getStringArray(R.array.district_code);
        //Toast.makeText(this, district_code[positions], Toast.LENGTH_SHORT).show();
    }
    if (parent.getId() == R.id.upz) {
        positions = spinner_upz.getSelectedItemPosition();
        upz_code = this.getResources().getStringArray(R.array.upz_code);
        //Toast.makeText(this, upz_code[positions], Toast.LENGTH_SHORT).show();
    }
    if (parent.getId() == R.id.village) {
        positions = spinner_village.getSelectedItemPosition();
        vill_code = this.getResources().getStringArray(R.array.village_code);
        //Toast.makeText(this, vill_code[positions], Toast.LENGTH_LONG).show();
    }
    if (parent.getId() == R.id.union) {
        positions = spinner_union.getSelectedItemPosition();
        union_code = this.getResources().getStringArray(R.array.union_code);
        //Toast.makeText(this, union_code[positions], Toast.LENGTH_SHORT).show();
    }
    if (!(vill_code == null || region_code == null || district_code == null || upz_code == null ||
            union_code == null)) {
        test = region_code[positions] +
                district_code[positions] +
                upz_code[positions] +
                union_code[positions] + vill_code[positions];
        Toast.makeText(this, test, Toast.LENGTH_SHORT).show();
    }
    catchment_code.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent intent = new Intent(Catchment.this, Participant_Details.class);
            intent.putExtra("catment_code", test);
            startActivity(intent);


        }
    });

    //Toast.makeText(this, union_code[positions]+upz_code[positions], Toast.LENGTH_SHORT).show();
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
}

@Override
public void onBackPressed() {
    Intent intent = new Intent(Catchment.this, SplashScreen.class);
    Catchment.this.startActivity(intent);
    Catchment.this.finish();}
}
导入androidx.appcompat.app.appcompat活动;
导入com.topche.searchablespinnerlibrary.SearchableSpinner;
公共类扩展AppCompativeActivity实现AdapterView.OnItemSelectedListener{
公共阵列适配器区域适配器;
公共阵列适配器分区适配器;
公共阵列适配器UpzaAdapter;
公共阵列适配器;
公共阵列适配器村庄适配器;
公共字符串[]区域={“1”,“2”,
};
公共字符串[]地区={“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、};
公共字符串[]Upz={“1”、“2”…“23”;
公共字符串[]Union={“1”、“2”…“25”…“50”…“115”};
公共字符串[]村庄={“1”、“2”…“25”…“50”…“150”…“500”…“947”};
按钮编码;
可搜索的spinner spinner_地区、spinner_区、spinner_upz、spinner_联盟、spinner_村;
字符串[]区域代码;
字符串[]地区代码;
字符串[]upz_代码;
字符串[]联合编码;
字符串[]vill_代码;
int位置;
串试验;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_);
微调器_区域=(SearchableSpinner)findViewById(R.id.region);
spinner_district=(SearchableSpinner)findViewById(R.id.district);
微调器_upz=(SearchableSpinner)findViewById(R.id.upz);
微调器联合=(SearchableSpinner)findViewById(R.id.union);
spinner_village=(SearchableSpinner)findViewById(R.id.village);
集水区代码=findViewById(R.id.集水区代码);
//设置spninner适配器
RegionaAdapter=new ArrayAdapter(这是android.R.layout.simple\u微调器\u项,Region);
districtAdapter=new ArrayAdapter(这是android.R.layout.simple\u微调器\u项,District);
upzAdapter=newarrayadapter(这是android.R.layout.simple\u spinner\u项,Upz);
unionAdapter=new ArrayAdapter(这是android.R.layout.simple\u微调器\u项,Union);
villageAdapter=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,Village);
//将下拉列表设置为微调器
regionAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
districtAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
upzAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
unionAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
//分配给微调器
spinner_region.setAdapter(regionAdapter);
spinner_district.setAdapter(districtAdapter);
微调器设置适配器(upzAdapter);
微调器_union.setAdapter(unionAdapter);
spinner_village.setAdapter(villageAdapter);
微调器_区域。setOnItemSelectedListener(此);
spinner_district.setOnItemSelectedListener(此);
微调器_upz.setOnItemSelectedListener(此);
微调器_union.setOnItemSelectedListener(此);
spinner_village.SetonimselectedListener(此);
}
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
if(parent.getId()==R.id.region){
positions=spinner\u region.getSelectedItemPosition();
region\u code=this.getResources().getStringArray(R.array.region\u code);
//Toast.makeText(这是region_code[positions],Toast.LENGTH_SHORT.show();
}
if(parent.getId()==R.id.district){
positions=spinner\u district.getSelectedItemPosition();
district\u code=this.getResources().getStringArray(R.array.district\u code);
//Toast.makeText(这是district_code[positions],Toast.LENGTH_SHORT.show();
}
if(parent.getId()==R.id.upz){
positions=spinner_upz.getSelectedItemPosition();
upz_代码=this.getResources().getStringArray(R.array.upz_代码);
//Toast.makeText(这是upz_代码[positions],Toast.LENGTH_SHORT.show();
}
if(parent.getId()==R.id.village){
positions=spinner\u village.getSelectedItemPosition();
vill_code=this.getResources().getStringArray(R.array.village_code);
//Toast.makeText(这是vill_代码[positions],Toast.LENGTH_LONG.show();
}
if(parent.getId()==R.id.union){
positions=spinner\u union.getSelectedItemPosition();
union\u code=this.getResources().getStringArray(R.array.union\u code);
//Toast.makeText(这是union_代码[positions],Toast.LENGTH_SHORT.show();
}
如果(!(vill|U代码==null | |地区代码==null | |地区代码==null | | upz|U代码==null||
联合(U代码==null)){
测试=区域代码[位置]+
地区代码[职位]+
upz_代码[位置]+
工会代码[职位]+维尔代码[职位];
Toast.makeText(this,test,Toast.LENGTH_SHORT).show();
}
集合代码.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意向意向=新意向(集水区、本、参与者详细信息、课程);
意向。额外(“catment_代码”,测试);
星触觉(意向);
}
});
//Toast.makeText(这个,联合码[positions]+upz码[positions],Toast.LENGTH\u SHORT.show();
}
@凌驾
未选择公共无效(AdapterView父级){
}
@凌驾
public void onBackPressed(){
意图=新的I
        @Override
    protected void onCreate(Bundle savedInstanceState) {
     --------;
     // Set spninner adapter
        regionAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, Region);
        districtAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, new String[]());
        upzAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, new String[]());
        unionAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, new String[]());
        villageAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, new String[]());

------
       spinner_region.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
      if (parent.getId() == R.id.region) {
     positions = spinner_region.getSelectedItemPosition();
     String[] filteredDistrict = District.filter(Region[position]) // District.filter is not any predefined function, assuming some filter needed for selected Districts
     districtAdapter.addValues(filteredDistrict);
     districtAdapter.notifyDataSetChanged()
     spinner_district.setOnItemSelectedListener(this);
}
}