私はAndroid開発の初心者なので、アルファベットのピッカーを作成する方法を教えてください。
3 に答える
私は最近これを理解しようとしていましたが、NumberPicker ウィジェットを使用してそれを行うことができます。
XML で番号ピッカーを定義します
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<NumberPicker
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/NumberPicker"/>
</LinearLayout>
次に、onCreate メソッドで NumberPicker を作成し、XML レイアウトをキャストしてから、NumberPicker メソッドを使用してデータを設定します。
以下で使用されるメソッドは、ピッカーに表示される項目の配列を作成します。最小値と最大値により、数値の範囲が作成されます。範囲が配列内のアイテムの数と同じでない場合、実行されません。したがって、完全なアルファベットが 0 と 25 の場合、setDisplayedValues メソッドは、配列内の対応する値 (0、1、2 など) で定義した数値をオーバーライドします。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_layout);
NumberPicker NumberPicker = (NumberPicker) findViewById(R.id.NumberPicker);
String[] alphabet = {"A","B","C","D","E","F","G"}; //etc
NumberPicker.setMaxValue(0);
NumberPicker.setMaxValue(6);
NumberPicker.setDisplayedValues(alphabet);
}
私はこの質問が3年前のものであることを知っています....まあ...あなたがまだ立ち往生していないことを願っています。
スピナーが欲しいと思います。作成方法については、このガイドを参照してください。
スピナーを使用せず、何らかの理由でユーザーに各文字をクリックさせたい場合は、次のように設定できます。
TextView txt = (EditText)findViewById(R.id.pickertxt);
Button next = (Button)findViewById(R.id.nextbtn);
Button prev = (Button)findViewById(R.id.prevbtn);
char picker = 'a';
txt.setText(picker);
next.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
picker++;
txt.setText(picker);
}
});
prev.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
picker--;
txt.setText(picker);
}
});
スピナーを使用する方がおそらく好まれますが (クリックするのではなく、リストから値を選択できるドロップダウンに似ています)、または AZ を実行している場合は、ユーザーが入力できるようにする EditText を使用しないのはなぜですか?