在 Android 中将 OnValueChange 实现为 NumberPicker
Posted
技术标签:
【中文标题】在 Android 中将 OnValueChange 实现为 NumberPicker【英文标题】:Implementing OnValueChange to a NumberPicker in Android 【发布时间】:2013-04-05 16:12:00 【问题描述】:我正在尝试将 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 的唯一原因是因为我必须将主要活动设置为抽象,我的应用程序将无法运行。
【问题讨论】:
【参考方案1】:您将像按钮上的单击侦听器一样执行此操作。
np1.setOnValueChangedListener(new OnValueChangeListener()
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal)
// do something here
);
可以在此处找到完整的示例:http://samplecodez.com/android/numberpicker.php
一些风格点...
Main 应该大写,最好让它像 MainActivity 那样更具描述性。 仅在必要时使用字段。我猜你并没有在 onCreate() 之外使用这些变量中的大部分变量,所以改为使用局部变量。 TextView totalCost 是您最好的命名变量 :) 考虑使用详细名称。当您在很长一段时间内第一次回顾这段代码时,您会在 6 个月后感谢自己。 没有魔法值(或字符串)!为您的最小值和最大值创建一个常量,这些常量应该是您的字段的私有静态 final int。 在 Eclipse 中,设置首选项中的 java 保存操作以在您保存时自动格式化所有代码行。当然,这些都不会让你的代码运行得更好,但它肯定会更容易阅读。
【讨论】:
比尔莫特你是个天才。感谢您的时间!!!您刚刚停止了一个小时的故障排除! 我们都去过那里。相信我;)当我回顾我早期的一些问题时,我很害怕它们仍然存在供公众消费! 哈哈哈哈哈哈再次感谢。我也很欣赏样式指针。自从我参加编码课程以来已经有很长时间了,我已经忘记了很多类似的事情。我已经实现了一些指针。以上是关于在 Android 中将 OnValueChange 实现为 NumberPicker的主要内容,如果未能解决你的问题,请参考以下文章