在activity_main.xml
:
<NumberPicker
android:id="@+id/numberPicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp" />
在MainActivity.java
内部oncreate
:
NumberPicker numberPicker1 = (NumberPicker) findViewById(R.id.numberPicker1);
numberPicker1.setMinValue(1);
numberPicker1.setMaxValue(20);
当我用键盘编辑值,我得到html" target="_blank">编程值不会改变,但如果我按+
,然后-
它的作品。
我如何使其工作而不必按+
和-
?
编辑:
我用MelihAltıntaş的代码创建了一个新项目,它显示了一个全新的数字选择器!(您用手指滑动而无法输入文本的位置)。然后,我将其与实际项目进行了比较,然后看到了android:theme="@android:style/Theme.NoTitleBar"
。我将其添加到新项目中,然后数字选择器成为了我习惯的数字选择器。
该NumberPicker
不是为这种互动。当您使用键盘更改值时,您是直接从更改窗口小部件,NumberPicker
而窗口小部件本身看不到此更改,因此这就是您最后存储值的原因。要解决此问题,您将需要一些hacky代码(实际上不建议这样做),因为您需要访问底层代码EditText
(假设电话制造商最初并未对此进行更改):
private EditText findInput(ViewGroup np) {
int count = np.getChildCount();
for (int i = 0; i < count; i++) {
final View child = np.getChildAt(i);
if (child instanceof ViewGroup) {
findInput((ViewGroup) child);
} else if (child instanceof EditText) {
return (EditText) child;
}
}
return null;
}
然后,您将使用以下代码TextWatcher
在找到的内容上设置一个,EditText
以查看何时对其进行了手动修改(并NumberPicker
告知此更改):
EditText input = findInput(np);
TextWatcher tw = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {}
@Override
public void afterTextChanged(Editable s) {
if (s.toString().length() != 0) {
Integer value = Integer.parseInt(s.toString());
if (value >= np.getMinValue()) {
np.setValue(value);
}
}
}
};
input.addTextChangedListener(tw);
另一种选择是使您自己的NumberPicker
小部件实现并插入目标功能。
我正在使用以下方法隐藏键盘 它将输入作为“活动”,并在我点击屏幕时隐藏键盘。如果父布局没有嵌套的子布局,则工作正常。但是如果父布局有嵌套的子布局,即使我在点击嵌套的子布局时仍不使用它们。软键盘没有隐藏。 这个问题的解决方案是为嵌套的子布局创建侦听器,然后再次调用上面的方法。但是,有没有其他方法可以隐藏键盘而不设置内部子布局的侦听器。 下面是我使用的布局 在我的活动中我正在做
问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt
所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。
列名称的类型为int[] 上述查询适用于postgresql,但不适用于hsqldb,甚至适用于sql 尝试的hsqldb版本:2.2.9和2.3.0 在hsqldb中工作的sql是从table_name中选择x,unnest(column_name)y(x)x和y不是该表的列。
我定义了一个外键。为了检查它,我在具有外键的表中插入了错误的值。未打印任何错误,值已成功添加。我不知道我是否正在运行一些旧版本的sqlite3或类似的东西,我对这个领域是完全陌生的。 创建表ref(value 1 int, value 2,主键(value 1)); 为(value1 int、value3 int、主键(value3)、外键(value1)引用ref(value1))创建表; 插入
我能够成功地打电话给邮递员: /mfp/api/az/v1/token和 /mfpadmin/management-apis/2.0/runtimes/mfp/applications 我正在获取从/mfp/api/az/v1/token接收的承载令牌,并将其添加到/mfp/applications的授权标头中。 我收到了来自两者的200个响应,并从每个API中获取了预期的信息。 然后,我选择从P