我正在尝试将onValueChangeListener添加到android 4.2.2中的数字选择器(np1)。
这是我到目前为止所拥有的
public class main extends Activity {
ViewFlipper vf = null;
HttpClient client = null;
private ArrayList<String> captionList = new ArrayList<String>();
ListView lv = null;
private String custid = null;
ImageView iv = null;
private int vfloginview = 0;
private int vflistview = 0;
private boolean vfsentinal = false;
NumberPicker np1 = null;
TextView totalcost = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mystuffmobile);
vf = (ViewFlipper) findViewById(R.id.vf);
client = new DefaultHttpClient();
lv = (ListView) findViewById(R.id.lv);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
np1 = (NumberPicker) findViewById(R.id.np1);
np1.setMinValue(1);
np1.setMaxValue(400);
//np1.setOnValueChangedListener;
//np1.setOnValueChangedListener(onValueChange);
}
试图测试它的功能我一直在使用这个
public void onValueChange (NumberPicker np1, int oldVal, int newVal) {
Log.v("NumberPicker", np1.getValue() +"");
}
有没有人知道一种简单的方法来实现这个监听器而不让我的主要活动实现NumberPicker.OnValueChangeListener?
注意:我反对让我的主要活动实现NumberPicker.OnValueChangeListener的唯一原因是因为我必须将main设置为abstract而我的应用程序将不会运行。
答案 0 :(得分:12)
你就像按钮上的点击监听器一样。
np1.setOnValueChangedListener(new OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
// do something here
}
});
可在此处找到完整的示例:http://samplecodez.com/android/numberpicker.php
一些风格点......
当然,这些都不会让你的代码运行得更好,但肯定会更容易阅读。