2016-05-05 16 views
0

テキストサイズを変更するボタンを選択すると、そのように公正でなければなりませんか? 私はonCreateで追加しようとしましたが、正常に動作しない場合は、アプリケーションを起動するために1回だけ有効です。この機能は次回は有効ではありません。 はあなたにボタンがテキストサイズを変更するように選択されている場合

ボタン

 <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/inbox_string" 
     android:id="@+id/button" 
     android:textColor="@drawable/text_button_culoare" 
     android:drawableLeft="@drawable/ic_view_list_white_24dp" 
     android:background="@android:color/transparent" 
     style="?android:attr/borderlessButtonStyle" 
     android:layout_centerHorizontal="true" 
     android:gravity="left|center_vertical" 
     android:layout_gravity="center_horizontal" 
     android:focusable="true" 
     android:enabled="true" 
     android:clickable="true" 
     android:contextClickable="true" 
     android:elegantTextHeight="true" 
     android:layout_marginTop="16dp" /> 

活動ありがとう:

public class Work_screen extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_work_screen); 


     View.OnClickListener clickListener = new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (v.getId() == R.id.button) { 


       } 
      } 
     }; 

     findViewById(R.id.button).setOnClickListener(clickListener); 



     final Button button = (Button) findViewById(R.id.button); 

     if (button.isSelected()) { 
      Context context = getApplicationContext(); 
      CharSequence text = "selected"; 
      int duration = Toast.LENGTH_SHORT; 

      Toast toast = Toast.makeText(context, text, duration); 
      toast.show(); 
      button.setTextSize(22); 
     } else { 
      Context context = getApplicationContext(); 
      CharSequence text = "not"; 
      int duration = Toast.LENGTH_SHORT; 

      Toast toast = Toast.makeText(context, text, duration); 
      toast.show(); 
     } 

    } 
} 

答えて

1

を使用すると、そのボタンをクリックすると、このメソッドが呼び出されるので、あなたは、あなたのonClickメソッドでいくつかのコードを配置する必要があります。あなたのコードが初めて呼び出される理由は、ONCREATEメソッドがアプリケーションの作成時に一度呼び出されるということだけです。

あなたのonClickメソッドにif else文を置くだけでうまくいくはずです。 ボタン変数をクラス変数として作成して、onCreateメソッドに含まれていなくてもリスナーにアクセスする必要があります。

+0

しかしonclickでは、単にactivateを押してください。選択したボタンからこれを有効にすることに興味があります –

+0

どのようにボタンを選択しますか? Androidでは、onClickをトリガーするボタンを押すことができます。たぶんOnFocusもうまくいくでしょうが、onSelect?チェックボックスまたはラジオボタンを選択することはできますが、「ボタンを選択する」とはどういう意味ですか? – ChampS

+0

Android Tvでは、Dパッドを使用しています。 –

関連する問題