1
PickListでactionListenerを使用すると、キャンセルbtnが期待通りに機能していません。最初は、ピッカーをキャンセルすると、getSelectedStringIndexは-1を返します。最初の1つをクリックしてからOKをクリックすると、インデックス0が与えられます。ここから、キャンセルがクリックされるたびに、インデックス0が返されます。どうすれば修正できますか?ピッカー機能が期待どおりに機能していません
コード:
periodPicker.addActionListener(e -> {
String periodString = "";
if (periodPicker.getSelectedStringIndex() == 0) {
periodString = "3";
} else if (periodPicker.getSelectedStringIndex() == 1) {
periodString = "6";
}
if (!periodString.equals("")) {
System.out.println("index " + periodPicker.getSelectedStringIndex());
}
}
ユーザーがピッカーのキャンセルボタンまたはOKボタンをクリックしたかどうかを知るにはどうすればいいですか? – beck
ピッカーから返された値と前の値を比較して、これが解決された場合はピッカーのアクションを無視して解決しました。 –
一般的に、ネイティブ・ピッカーAPIは、キャンセルの場合にはデフォルト値を返すべきですが、 'Display'にあるAPIのみに適用されます。私がしたいことの1つは、純粋なJavaでAndroidスタイルのネイティブ・ピッカーを実装して、人々が適切にカスタマイズしテーマを設定できるようにすることです。残念ながら、それは少しの作業です... –