表示された値の配列を持つNumberPickerを作成したいとします。 NumberPickerが表示されても値は変更されませんが、最小値と最大値はユーザーの操作に応じて動的に変化します。ここNumberPickerのsetMinValueが正しい最小値を選択しない
コードである:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<NumberPicker
android:id="@+id/picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
主な活動で
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final String[] values = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
NumberPicker picker = (NumberPicker) findViewById(R.id.picker);
picker.setDisplayedValues(values);
picker.setMaxValue(7);
picker.setMinValue(3);
picker.setWrapSelectorWheel(false);
}
}
Iが最小に設定せずに最大に設定すると、私は( "0" と "7" の間に表示された値で終わります含まれています)。 minValueを0に設定すると、私は同じ動作をします。 しかし、minValueを3に設定すると、 "0"と "4"の間に表示された値で終了します。それが「3」と「7」の間にあるとき。
なぜか分かりません。間違ったことをやったことがありますか、コンポーネントに問題がありますか?
する必要がありますこれを詳しく教えていただけますか? OPの問題を解決しないのはなぜですか?また、最小値/最大値が変わるたびに表示値を変更するように提案していませんでしたか(私はそれを誤解している可能性があります)? – Bmuig
申し訳ありませんが、私はあなたの提案を誤解しました。それは期待どおりに動作します。そのために残念! –