如何从 Android 中的微调器中删除 4 和 5 索引
How to remove 4 and 5 indexes from the spinner in Android
您好,在下面的代码中,我实现了一个微调器。从 Api 我正在获取字符串并添加到数组列表,然后显示一个微调器。
现在要从微调器列表中删除 4 和 5 索引,然后要显示微调器。
它给我一个错误
java.lang.IndexOutOfBoundsException:索引:4,大小:1
if (name.equals("sales_stage")) {
TypeDetails typeDetails = desFields1.getType();
ArrayList<PickListValues> pickListValues = typeDetails.getPicklistValues();
for (PickListValues pickListValues1 : pickListValues) {
value = pickListValues1.getValue();
label=pickListValues1.getLabel();
sales_stagenames.add(value);
PickListValues pickListValues2 = new PickListValues(value, label);
pickListSalesStage.add(pickListValues2);
final ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
getContext(),R.layout.spinner_item,sales_stagenames){// dataAdapter.setDropDownViewResource(android.R.borderdashboard.simple_spinner_dropdown_item);
//spinnerlocation.setAdapter(dataAdapter);
@Override
public boolean isEnabled(int position){
if(position == 0)
{
// Disable the first item from Spinner
// First item will be use for hint
// spinnerlocation.setPrompt("Select");
return false;
}
else
{
return true;
}
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
TextView tv = (TextView) view;
if(position+1 == 0){
// Set the hint text color gray
// spinnerdepartment.setVisibility(View.GONE);
// spinnerdepartment.setVisibility(View.GONE);
tv.setTextColor(Color.GRAY);
}
else {
tv.setTextColor(Color.BLACK);
}
return view;
}
};
// ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(getContext(), android.R.borderdashboard.simple_spinner_item, taskTypes);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnersalesstage.setAdapter(spinnerArrayAdapter);
sales_stagenames.remove(4);
spinnerArrayAdapter.notifyDataSetChanged();
@Override
public boolean isEnabled(int position){
if(position == 0)
{
// Disable the first item from Spinner
// First item will be use for hint
// spinnerlocation.setPrompt("Select");
return false;
}
else
{
return true;
}
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
TextView tv = (TextView) view;
if(position+1 == 0){
// Set the hint text color gray
// spinnerdepartment.setVisibility(View.GONE);
// spinnerdepartment.setVisibility(View.GONE);
tv.setTextColor(Color.GRAY);
}
else {
tv.setTextColor(Color.BLACK);
}
return view;
}
};
// ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(getContext(), android.R.borderdashboard.simple_spinner_item, taskTypes);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnersalesstage.setAdapter(spinnerArrayAdapter);
}
尝试这样的事情:
value = pickListValues1.getValue();
label=pickListValues1.getLabel();
sales_stagenames.add(value);
ArrayList<String> salesstages=new ArrayList<>();
for(int i=0;i<= sales_stagenames.size();i++){
if((i!=4)&&(i!=5)) salesstages.add(sales_stagenames.get(i));}
您好,在下面的代码中,我实现了一个微调器。从 Api 我正在获取字符串并添加到数组列表,然后显示一个微调器。
现在要从微调器列表中删除 4 和 5 索引,然后要显示微调器。
它给我一个错误
java.lang.IndexOutOfBoundsException:索引:4,大小:1
if (name.equals("sales_stage")) {
TypeDetails typeDetails = desFields1.getType();
ArrayList<PickListValues> pickListValues = typeDetails.getPicklistValues();
for (PickListValues pickListValues1 : pickListValues) {
value = pickListValues1.getValue();
label=pickListValues1.getLabel();
sales_stagenames.add(value);
PickListValues pickListValues2 = new PickListValues(value, label);
pickListSalesStage.add(pickListValues2);
final ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
getContext(),R.layout.spinner_item,sales_stagenames){// dataAdapter.setDropDownViewResource(android.R.borderdashboard.simple_spinner_dropdown_item);
//spinnerlocation.setAdapter(dataAdapter);
@Override
public boolean isEnabled(int position){
if(position == 0)
{
// Disable the first item from Spinner
// First item will be use for hint
// spinnerlocation.setPrompt("Select");
return false;
}
else
{
return true;
}
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
TextView tv = (TextView) view;
if(position+1 == 0){
// Set the hint text color gray
// spinnerdepartment.setVisibility(View.GONE);
// spinnerdepartment.setVisibility(View.GONE);
tv.setTextColor(Color.GRAY);
}
else {
tv.setTextColor(Color.BLACK);
}
return view;
}
};
// ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(getContext(), android.R.borderdashboard.simple_spinner_item, taskTypes);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnersalesstage.setAdapter(spinnerArrayAdapter);
sales_stagenames.remove(4);
spinnerArrayAdapter.notifyDataSetChanged();
@Override
public boolean isEnabled(int position){
if(position == 0)
{
// Disable the first item from Spinner
// First item will be use for hint
// spinnerlocation.setPrompt("Select");
return false;
}
else
{
return true;
}
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
TextView tv = (TextView) view;
if(position+1 == 0){
// Set the hint text color gray
// spinnerdepartment.setVisibility(View.GONE);
// spinnerdepartment.setVisibility(View.GONE);
tv.setTextColor(Color.GRAY);
}
else {
tv.setTextColor(Color.BLACK);
}
return view;
}
};
// ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(getContext(), android.R.borderdashboard.simple_spinner_item, taskTypes);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnersalesstage.setAdapter(spinnerArrayAdapter);
}
尝试这样的事情:
value = pickListValues1.getValue();
label=pickListValues1.getLabel();
sales_stagenames.add(value);
ArrayList<String> salesstages=new ArrayList<>();
for(int i=0;i<= sales_stagenames.size();i++){
if((i!=4)&&(i!=5)) salesstages.add(sales_stagenames.get(i));}