如果我通过我的Spinner一个简单的整数数组,它可以正常工作。 但是我想要将值0(零)作为例外。
/*
* Pass the spinner the adapter with all possible start numbers.
*/
List<RiderStatus> RiderStatuses = DataModel.get().getRiderStatuses();
List<Integer> tempInts = new ArrayList<Integer>(
RiderStatuses.size() + 1);
for (int i = 0; i < RiderStatuses.size(); i++) {
if (i == 0 || (RiderStatuses.get(i).getStarted()
&& !RiderStatuses.get(i).getFinished()))
tempInts.add(new Integer(RiderStatuses.get(i).getRiderNum()));
}
ArrayAdapter<Integer> spinnerAdapter = new ArrayAdapter<Integer>(
mCallercontext, R.layout.big_spinner, tempInts);
/*
* Notify observers
*/
spinnerAdapter.notifyDataSetChanged();
viewHolder.spinnerStartNo = (Spinner) convertView.findViewById(R.id.spinnerStartNo);
viewHolder.spinnerStartNo.setAdapter(spinnerAdapter);
My Object只是一个整数,其中toString返回零案例的文本。我基本上在上面的代码中用我的RiderNo替换Integer。 当我点击微调器时,屏幕变暗,按钮变得没有响应或响应缓慢。
这是我的对象的代码。
/**
* Class RiderNo
* Holds an Integer, but implements toString so that an exception
* can be made of rider 0 - the "Bandit" or unknown.
* Use instead of Integer in tempInts. Did not work!
*/
private class RiderNo {
private Integer mRiderNo;
RiderNo(int riderNo) {
mRiderNo = riderNo;
}
public String toString() {
if( mRiderNo == 0 )
return "Bandit";
else
return String.format("%d", mRiderNo);
}
public int getRiderNo() {
return mRiderNo;
}
public void setRiderNo(int riderNo ) {
mRiderNo = riderNo;
}
}
完全披露:周围的代码非常复杂。我有一个由队列(FIFO)驱动的列表视图。列表视图有两列:捕获的时间和有问题的Spinner以及数字的列表(更改子集)。
我现在有更多信息:
这是在日志中
01-25 13:59:50.958 32029-32029/ca.owensoundcyling.tttimer W/InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
已经存在一个问题 Attempted to finish an input event but input event receiver has already been disposed
答案 0 :(得分:0)
有两个问题,至少我进行了两次更改,并且逐渐变得更好。修复第一个后,我的代码中出现了一个真正的异常。但这可能总是一个问题 - 从来没有那么远。