java - 如何从我的 Android 应用程序中的 Java 代码在我的布局上添加 NumberPicker?
问题描述
我正在制作一个简单的应用程序。我想从我的 Java 代码中添加 NumberPicker,但是当我运行它时,应用程序会立即关闭。有人可以告诉我错误在哪里吗?我知道我可以在 XML 中添加它,但我想从 Java 代码中添加它。
非常感谢
package com.example.openwebpage;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.NumberPicker;
public class MainActivity extends AppCompatActivity {
NumberPicker np;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ConstraintLayout layout = (ConstraintLayout) findViewById(R.id.layout);
String[] displayed = {"1","2","3"};
np = new NumberPicker(this);
ConstraintLayout.LayoutParams layoutParams = new ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
np.setLayoutParams(layoutParams);
np.setDisplayedValues(displayed);
np.scrollBy(0,3);
np.setMinValue(0);
np.setMaxValue(3);
np.setWrapSelectorWheel(true);
layout.addView(np);
}
}
解决方案
您需要更新此代码段:
np.scrollBy(0,2);
np.setMinValue(0);
np.setMaxValue(2);
异常是由于 setMaxValue(3) 导致的数组索引超出范围。
推荐阅读
- json - 为什么它是未定义的?我该如何解决?
- python - Finding all URLs in a single line
- ios - 二进制被拒绝的 iap 在设备上工作但在验证中无效
- asp.net - 使用 MimeKit 从数据库读取时,电子邮件的富字符被错误翻译
- python - 无法使用 python 3.7 启动 pipenv
- redis - 已解决错误:GraphQL 错误:字段错误:值不是 Date 的实例
- typescript - 如何将 JSON 对象作为 JWT 发送到重定向页面?
- python - 将列的每个元素乘以不同数据帧的每个元素
- java - 无法使用 spring 4 注释在 junit 中加载应用程序上下文
- c - libxml2 获取节点的 XML 文本的偏移量