【发布时间】:2014-04-02 11:09:35
【问题描述】:
我遇到过这种奇怪的情况,每次我从ListView 的第一个项目中的微调器中选择一个值,最后一个ListView'sitem 的微调器值都是相同的作为第一项。这只有在 ListView 项目的总数为 5 及以上 时才会发生。我注释掉了代码并只保留了声明,它仍在发生。这是 Android 中的错误吗?
说明:
-
我的 ListView 的
Scroll Listener是空的 -
我的微调器的
setOnItemSelectedListener已被注释掉。 -
Android SDK 工具版本为 22.6.2
-
Android SDK Platform-Tools 是 19.0.1
这是适配器代码:
@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
Viewholder v = new Viewholder();
v.rowView = convertView;
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (v.rowView == null) {
v.rowView = inflater.inflate(R.layout.inner_base_header_cutom, parent, false);
v.spinner = (Spinner) v.rowView.findViewById(R.id.spinner1);
v.rowView.setTag(v);
} else {
v = (Viewholder) v.rowView.getTag();
}
return v.rowView;
}
ViewHolder:
class Viewholder{
View rowView;
TextView itemPID;
TextView itemPrice;
TextView itemItemId;
Spinner spinner;
TextView subtotal;
}
XML:
<Spinner
android:id="@+id/spinner1"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:layout_margin="20dip"
android:entries="@array/quanitiy"
android:layout_alignTop="@+id/itemPrice"
android:layout_toRightOf="@+id/imageDisplay" />
数组:
<string-array name="quanitiy">
<item>Quantity</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
</string-array>
更新
我注释掉了OnItemClickListner 的代码。我更新了上面的代码,问题仍然存在。唯一剩下的就是声明。
场景:
如果我在ListView 的微调器[index 0] 的第一项选择1,则ListView 的微调器的最后一项也会在没有交互的情况下获得1。当向下列表视图的项目直到最后一部分时,我发现它们都是相同的。我注释掉了代码,只保留了声明。
【问题讨论】:
-
请缩进您的代码。那我看看 ;) 如果你使用的是 Eclipse,Ctrl+Maj+F 是你的朋友!
-
谢谢@SilentKiller。
-
你的
getView()中没有return语句,它根本不应该编译。 -
我添加了退货声明。
-
你能发布
R.layout.inner_base_header_cutom的XML
标签: java android android-arrayadapter android-spinner