如何从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(导致数组索引超出界限。

最新更新