2012-05-30 61 views
6

私はNumberPickerを使用しており、11以上のAPIをターゲットにしています(3.0以降)ので、サポートされているNumberPickerを使用しています。これはタイマーアプリケーションで使用されています。増分と減分のボタンを自由に非表示にして、ボタンが非表示になってもレイアウト内のスペースを取らないようにしたい。私はこれをやろうとしました:Android NumberPickerの増減ボタンを隠す

View increment = secs.getChildAt(0); 
increment.setVisibility(View.GONE); 
View decrement = secs.getChildAt(2); 
decrement.setVisibility(View.GONE); 

ここで、秒はタイマーの秒のNumberPickerです。数字を表示する場所(EditTextウィジェット)を非表示にしようとすると、それはうまく隠れてしまいますが、上記のコードは何もしません。

私の質問は、インクリメントボタンとデクリメントボタンを隠す方法です。私は本当に私がそれを試して喜んでいる場合は、それは本当に唯一の方法である場合、私はいくつかの他の記事で読んでいるように、私は自分のカスタム番号ピッカーを作ることを避けたいと思う。

ありがとうございます!

ここに、追加コードが必要です。ストップウォッチが開始されたときのためのonClickメソッドで コード:ストップウォッチの能力を処理し

if (stopPush) 
{ 
startTime = System.currentTimeMillis() - elapsedTime; 
} 
else 
{ 
startTime = System.currentTimeMillis(); 
} 
mHandler.removeCallbacks(startTimer); 
mHandler.postDelayed(startTimer, 0); 

はコード:

private Runnable startTimer = new Runnable() 
{ 
public void run() 
{ 
    elapsedTime = System.currentTimeMillis() - startTime; 
    updateTimer(elapsedTime); 
    mHandler.postDelayed(this, REFRESH_RATE); 
} 
}; 

コードストップウォッチの時間を計算し、更新する:

this.millis = (int) (elapsedTime/100); 
this.seconds = (int) (elapsedTime/1000); 
this.minutes = (seconds/60); 
this.hours = (minutes/60); 
millis = millis % 10; 
seconds = seconds % 60; 
minutes = minutes % 60; 
hours = hours % 24; 
runOnUiThread(new Runnable() 
{ 
public void run() 
{ 
    hrs.setValue(hours); 
} 
}); 
runOnUiThread(new Runnable() 
{ 
public void run() 
{ 
    mins.setValue(minutes); 
} 
}); 
runOnUiThread(new Runnable() 
{ 
public void run() 
{ 
    secs.setValue(seconds); 
} 
}); 
runOnUiThread(new Runnable() 
{ 
public void run() 
{ 
    mills.setValue((int) millis); 
} 
}); 

答えて

4

そうでありませんnumberpickerに最小値と最大値を指定すると、ボタンは表示されません(通常は表示されません)。

+0

最小値と最大値を指定しないと他の問題が発生しますか?提供されていない場合、クラッシュの原因となるデフォルトの最小値と最大値が組み込まれていますか?提案していただきありがとうございます!それは他のすべてがまだ適切に働いている限り、間違いなく簡単です。 –

+0

私はあなたの提案を試み、ボタンは実際に消えますが、numberPickerの値を変更するためにsetValueを呼び出そうとすると効果はありません。それはちょうど0のままです。 –

+0

これは私が期待したものではありません。あなたはあなたがしていることにいくつかのコードを投稿できますか? – barrel

0

開発者向けサイトは

NumberPickerが所定の範囲から番号を選択するためにユーザを可能にするウィジェットです、と言います。このウィジェットには2つの味があり、ユーザに提示されるのは現在のテーマに依存します。

現在のテーマがThemeから派生している場合、ウィジェットは、上のインクリメントボタンと下のデクリメントボタンを持つ編集可能な入力フィールドとして現在の値を表示します。ボタンを長押しすると、現在の値を素早く変更できます。入力フィールドをタップすると、希望する値を入力することができます。

現在のテーマがTheme_HoloまたはTheme_Holo_Lightから派生している場合、ウィジェットは、現在の値を編集可能な入力フィールドとして提示します。より小さい値または大きい値をタップすると、数値軸を上下に動かして選択した値を現在の値にすることによって、それを選択します。フライ・アップまたはダウンは、現在の値を複数増分または減分することができます。より小さい値を長押しすると、現在の値を素早く変更することもできます。現在の値をタップすると、目的の値を入力できます。

テーマを変更してみてください。

関連する問題