[解決済み] Android: setVisibility(View.GONE); または setVisibility(View.INVISIBLE); が動作しない理由
2022-02-04 06:46:41
質問
私の
DatePicker
とボタンは最初は見えないようにします。そして、マジックボタンを押すと、setVisibility(View.Visible)するようにしたいです。
ここで問題なのは、私が
setVisibility(View.GONE)
または
setVisibility(View.INVISIBLE)
は何も変化せず、コンポーネントが表示されたままです。
final DatePicker dp2 = (DatePicker) findViewById(R.id.datePick2);
final Button btn2 = (Button) findViewById(R.id.btnDate2);
dp2.setVisibility(View.GONE);
dp2.setVisibility(View.INVISIBLE);
btn2.setVisibility(View.GONE);
btn2.setVisibility(View.INVISIBLE);
btn2.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
TextView txt2 = (TextView) findViewById(R.id.txt2);
txt2.setText("You selected " + dp2.getDayOfMonth()
+ "/" + (dp2.getMonth() + 1) + "/" + dp2.getYear());
}
});
解決方法は?
かなり多くの問題があるようですね。まず、マジックボタンが定義されておらず、そのためのイベントハンドラもありません。
また、使ってはいけません。
dp2.setVisibility(View.GONE);
dp2.setVisibility(View.INVISIBLE);
どちらか一方のみを使用します。から Androidドキュメント :
View.GONE このビューは不可視で、スペースを取らない。 レイアウトに使用されます。
View.INVISIBLE このビューは非表示ですが、まだ表示されています。 は、レイアウトのためにスペースを取ります。
この例では
View.GONE
の割り当てを
View.INVISIBLE
を1つ作成します。
置き換えてみてください。
final DatePicker dp2 = new DatePicker(this)
を使っています。
DatePicker dp2 = (DatePicker) findViewById(R.id.datePick2);
他のウィジェットも同様です。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
final DatePicker dp2 = new DatePicker(this);
final Button btn2 = new Button(this);
final Button magicButton = new Button(this);
final TextView txt2 = new TextView(TestActivity.this);
dp2.setVisibility(View.GONE);
btn2.setVisibility(View.GONE);
btn2.setText("set Date");
btn2.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
txt2.setText("You selected "
+ dp2.getDayOfMonth() + "/" + (dp2.getMonth() + 1)
+ "/" + dp2.getYear());
}
});
magicButton.setText("Magic Button");
magicButton.setOnClickListener(new View.OnClickListener()
public void onClick(View arg0) {
dp2.setVisibility(View.VISIBLE);
btn2.setVisibility(View.VISIBLE);
}
});
ll.addView(dp2);
ll.addView(btn2);
ll.addView(magicButton);
ll.addView(txt2);
setContentView(ll);
}
関連
-
[解決済み】「error: '.class' expected」の意味と修正方法について
-
[解決済み】Javaの部分文字列:「文字列のインデックスが範囲外」。
-
[解決済み】java 'jar'が内部コマンドまたは外部コマンドとして認識されない。
-
[解決済み】Javaでユーザー入力を待機させる方法
-
[解決済み】 executeQuery()でデータ操作文が発行できない。)
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み] Androidで画面の大きさをピクセル単位で取得する方法
-
[解決済み] なぜゲッターとセッター/アクセッサーを使うのですか?
-
[解決済み] Androidのレイアウトファイルの「tools:context」とは何ですか?
-
[解決済み】Androidでsetvisibility(view.Gone)中に簡単なアニメーションを追加する。)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】popBackStack()とreplace()の操作はどう違うのですか?
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み] メソッドがスーパータイプのメソッドをオーバーライドまたは実装していない - Overrideの場合
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】なぜjava.io.Fileにはcloseメソッドがないのでしょうか?
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み】Javaでユーザー入力を待機させる方法
-
[解決済み】Hibernateの例外「failed to lazily initialize a collection of role」の解決方法
-
[解決済み】スレッド "main "での例外 java.util.NoSuchElementException
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない