如何从 arrayadapter 获取值以将其传递给另一个 activity
How can I get value from an arrayadapter to pass it another activity
在这里,我试图将从微调器(数组适配器)获取的值发送到另一个 activity。我使用 json 填充微调器,我的微调器如下所示。
ArrayAdapter<String> adp = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, villageList);
spinner_village.setAdapter(adp);
spinner_village.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
try {
JSONObject villageObject = arrayList.get(position);
String villageId = villageObject.getString("id");
String villageName = villageObject.getString("name");
String villageCode = villageObject.getString("village_code");
Toast.makeText(Region.this, villageCode, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
现在我正在尝试获取 "villageCode" 到我的创建方法,以便我可以将此值传递给我的另一个 activity。到目前为止我所做的是
spinner_next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Region.this, Participant_Details.class)
.putExtra("catment_code", **-----**);
Region.this.startActivity(intent);
Region.this.finish();
}
})
putextra 出错。我该如何解决它或者问题是什么。
您可以将字符串 villageCode 设置为全局变量(您可以通过在 class 级别声明它来使变量成为全局变量 它不应该在任何方法中您的 class) 然后在 onClick 方法中提取字符串的值。像这样:
spinner_next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Region.this, Participant_Details.class)
.putExtra("catment_code", villageCode); //the value is being set here
Region.this.startActivity(intent);
Region.this.finish();
}
})
在这里,我试图将从微调器(数组适配器)获取的值发送到另一个 activity。我使用 json 填充微调器,我的微调器如下所示。
ArrayAdapter<String> adp = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, villageList);
spinner_village.setAdapter(adp);
spinner_village.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
try {
JSONObject villageObject = arrayList.get(position);
String villageId = villageObject.getString("id");
String villageName = villageObject.getString("name");
String villageCode = villageObject.getString("village_code");
Toast.makeText(Region.this, villageCode, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
现在我正在尝试获取 "villageCode" 到我的创建方法,以便我可以将此值传递给我的另一个 activity。到目前为止我所做的是
spinner_next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Region.this, Participant_Details.class)
.putExtra("catment_code", **-----**);
Region.this.startActivity(intent);
Region.this.finish();
}
})
putextra 出错。我该如何解决它或者问题是什么。
您可以将字符串 villageCode 设置为全局变量(您可以通过在 class 级别声明它来使变量成为全局变量 它不应该在任何方法中您的 class) 然后在 onClick 方法中提取字符串的值。像这样:
spinner_next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Region.this, Participant_Details.class)
.putExtra("catment_code", villageCode); //the value is being set here
Region.this.startActivity(intent);
Region.this.finish();
}
})