【发布时间】:2014-08-04 12:27:27
【问题描述】:
我正在尝试创建一个 BaseAdapter,其中每个元素都有一个 NumberPicker 和一个 Button。按钮的动作参数取决于 NumberPicker 中选取的值。我认为的一种解决方案是在 NumberPicker 的 onValueChange 内创建一个 setOnClickListener(按钮的),问题是当我更改数字时 onValueChange 永远不会被触发。
我把代码留给你,让它更清楚:
public class Adapter extends BaseAdapter{
...
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null)
{
LayoutInflater vi = (LayoutInflater) con.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
button = (Button) v.findViewById(R.id.button);
numPick = (NumberPicker) v.findViewById(R.id.numPick);
numPick.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
val = newVal;
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
actionToPerform(val);
}
});
}
});
我该如何解决这个问题?谢谢!
【问题讨论】:
标签: android button baseadapter numberpicker