トグルボタン付きのAndroidアプリを書いたのですが、最初はトグルボタンがうまく動きません。しかし、チェックを外して再度試すと、その後は正常に動作しています。
コードの下にリストしました。
初めてアクティベートするには、どのコードを追加する必要がありますか?
public class MainActivity extends Activity{
private ToggleButton togg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
togg = (ToggleButton) findViewById(R.id.toggleButton1);
}
public void nameOfMethod(View v){
togg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (togg.isChecked()) {
//Toast.makeText(MainActivity.this, "Servise bağlanılıyor...", Toast.LENGTH_SHORT).show();
new Thread(new ClientThread()).start();
} else {
Toast.makeText(MainActivity.this, "Bağlantı sonlandırılıyor...", Toast.LENGTH_SHORT).show();
}
}
});
}
.xml ファイル内:
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="120dp"
android:layout_height="60dp"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:onClick="nameOfMethod"
android:textOn="Bağlantıyı bitir"
android:textOff="Bağlantıyı başlat" />
編集:それはそのようにうまく動作します:
public class MainActivity extends Activity{
private ToggleButton togg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
togg = (ToggleButton) findViewById(R.id.toggleButton1);
togg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (togg.isChecked()) {
//Toast.makeText(MainActivity.this, "Servise bağlanılıyor...", Toast.LENGTH_SHORT).show();
new Thread(new ClientThread()).start();
} else {
Toast.makeText(MainActivity.this, "Bağlantı sonlandırılıyor...", Toast.LENGTH_SHORT).show();
}
}
});
}
setOnClickListener メソッドを onCreate(Bundle savedInstanceState) に移動し、.xml ファイルの android:OnClick メソッドを削除すると...