我正在加载微调器两次
当打开编辑微调器的屏幕时,是在插入细节时加载带有所选项目的微调器。
现在我已经全局声明了Array List以加载微调器。同时我在插入时分配了所选项目。
现在的数据 码: 用于加载微调器 "简单加载与插入"
for (int i = 0; i < result.getPropertyCount(); i++)
{
namesObject = (SoapObject) result.getProperty(i);
valuesListForCtg.add(new MatchIDByString("-- Select Grievance Category --",-1));
for(int j=0; j<namesObject.getPropertyCount(); j++)
{
Object objectNames=namesObject.getProperty(j);
SoapObject soapObjectw = (SoapObject)objectNames;
valuesListForCtg.add(new MatchIDByString(soapObjectw.getProperty("Category_Name").toString(),Integer.parseInt(soapObjectw.getProperty("Cat_ID").toString())));
}
}
以上相同的微调器代码编辑时加载以及分配项目的附加代码如下
valuesListForCtg.add(new MatchIDByString(namesObject.getProperty("Category_Name").toString(),Integer.parseInt(namesObject.getProperty("CategoryId").toString())));
现在我遇到的问题是编辑后的微调器正在加载所选项目以及指定项目。
微调器代码
SpnCategory.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
try
{
MatchIDByString s = (MatchIDByString) parent.getItemAtPosition(position);
CategoryValue = String.valueOf(s.StringID);
CtgName = s.StringItem;
IDStatusCtg = Integer.parseInt(CategoryValue);
SpnForEditCtg = SpnCategory.getSelectedItemPosition();
if(CategoryValue.equals("-1"))
{
SpnCategoryType.setEnabled(false);
SpnCategoryType.setAdapter(null);
}else
{
if (!CategoryValue.equals("0")) {
final boolean chk = isOnline();
if (chk != true) {
PUC.InternetServiceNotAvailbale();
}
else {
SpnCategoryType.setEnabled(true);
new LoadCategoryTypeSpinner().execute();
}
}
}
}catch(Exception e)
{
PUC.PleaseTryAgain();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
答案 0 :(得分:0)
编辑细节时,可以在向其中添加数据之前创建新的ArrayList或清除之前的ArrayList。否则它将添加新数据,但不会刷新以前的数据。
为了更好地理解,您可以发布更多代码。