2016-04-13 7 views
1

私はしばらくこの解決策を探していましたが、1つは機能していないようです。この件についてここには1つか2つありますが、私はそれらを得ることができません。私はAndroidの初心者でもあり、私は数年間それを遊んでいる間、私はまだ私が何を書いているのかについては何も知らない。TextViewを非表示にするボタン

基本的に私はTextViewとボタンを持っています。理想的には、TextViewにテキストをいくつか入れて、ボタンを押したままにしておき、もう一度ボタンを押すと元に戻ります。

findViewById(R.id.button2)の機能を理解する必要がありますが、正直なところ私は少し失われています。

私は、これは、このようなnoobの質問

public void onClick(Button v){ 
    TextView t1 = (TextView)findViewById(R.id.editText); 
    v.setVisibility(View.GONE); 

    Button button = (Button) findViewById(R.id.button2); 
    button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      TextView t1 = (TextView)findViewById(R.id.TextView); 
      v.setVisibility(View.GONE); 
     } 
    }); 
} 

答えて

0

あなたのコードは、問題のカップルを持っていることを私のボタンのコードが、謝罪を追加しました。私はあなたにコードを与えるつもりはありません。なぜなら、それは実際にあなたが学ぶのを助けるものではないからです。代わりに私は物事を説明し、それを理解したり、より明示的な質問に戻ったりしようとします。

setContentViewを使用して設定したxmlファイルは知っていますか?その中のいくつかのタグは、android:id = "xxxx"というプロパティを持っていました。そのxxxxはそのビューのIDです。そのビューはコード内で見つけることができます。 findViewById関数は、画面上のすべてのビューをウォークスルーし、そのIDを持つビューを見つけて返します。これにより、ビューを参照できるようになります。たとえば、可視性を設定したり、背景色を設定したり、OnClickListenerを設定することができます。

1)視認性はあなたが

2)を見つけ出す変更したいの見解を探す:

だからボタンは別のビューの表示を切り替える持っている、あなたは次のことを行うことができるようにする必要がありますその可視性が現在あるもの

3)あなたはそれが(それが現在

4)は視認性

に設定されているものの反対になりたいかを把握

そのすべてを行う関数を書く必要があります。そして、あなたは、視認性

2を変更するために使用したいボタンを見つける。)この

1を行う必要があります)そのが押されたときに、あなたの関数を呼び出すためにそれを教えてください。

これらのステップを個別に実行する方法を解説し、まとめておくことができます。がんばろう。

0

findViewById(R.id.button2)は、idボタン2のビューを検出します。

あなたは、T1が可視であるか否かのonClick内側(t1.setVisibility(View.GONE);ないv.setVisibility(View.GONE);)を確認し、そしてView.GONEView.VISIBLE切り替えることができます。

findViewById()には実IDが必要です。これらは通常、activity_name.xmlに設定されます。

あなたはonClick内でonClickを使用しています。個人的には、setOnClickListenerを使用してリスナーを手動で設定することをお勧めします。

あなたのために多くの仕事があります。これらはtutorialsから始まります。努力を続け、あなたがしていることを理解しようとする。

-1

コードが今あなたに役立つかどうかはわかりません。しかし、場合によっては、ここには

  final boolean[] isTvVisible = {false}; 
      final TextView t1 = (TextView)findViewById(R.id.editText); 
      t1.setVisibility(View.GONE); 

      Button button = (Button) findViewById(R.id.button2); 
      button.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        if (isTvVisible[0]) { 
         t1.setVisibility(View.GONE); 
         isTvVisible[0] = false; 
        } else { 
         t1.setVisibility(View.VISIBLE); 
         isTvVisible[0] = true; 
        } 
       } 
      }); 
0

のように見えます。ここには、コードの一部があります。重要
:あなたは@GabeSechanとSkyDriver2500答え@ ..

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.your_layout); 
    //your other code 

    Button button = (Button) findViewById(R.id.button2); 
    final TextView t1 = (TextView) findViewById(R.id.editText); 
    button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      t1.setVisibility(t1.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE); 
     } 
    }); 
} 

Happy_Codingを気にしなければなりません。

関連する問題