メインアクティビティクラスのカスタムボタンはどこに宣言しますか?それはonStartメソッド上にあることができますか、それともonCreateメソッドでのみ機能しますか?Androidのアクティビティ質問
お願いします。
また、私が話していることをさらに説明するために、ここに私のアクティビティクラスがあります。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(D) Log.e(TAG, "+++ ON CREATE +++");
setContentView(R.layout.main);
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null) {
Toast.makeText(this, "Bluetooth is not available", Toast.LENGTH_LONG).show();
finish();
return;
}
}
@Override
public void onStart() {
super.onStart();
if(D) Log.e(TAG, "++ ON START ++");
// If BT is not on, request that it be enabled.
if (!mBluetoothAdapter.isEnabled()) {
Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableIntent, REQUEST_ENABLE_BT);
}
else {
startApp();
}
}
private void startApp(){
View Patient_Button = findViewById(R.id.patientButton);
Patient_Button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//case R.id.patientButton:
//Intent b = new Intent(getApplicationContext(), Detailed_ModeActivity.class);
//startActivity(b);
//break;
}
}
);
View Doctor_Button = findViewById(R.id.doctorButton);
Doctor_Button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent a = new Intent(getApplicationContext(), Detailed_ModeActivity.class);
startActivity(a);
//break;
}
}
);
View About_Option = findViewById(R.id.aboutButton);
About_Option.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent c = new Intent(getApplicationContext(), About.class);
startActivity(c);
//break;
}
}
);
*
main.xml:アンドロイドで
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/background"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="85dip"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center" android:orientation="vertical">
<TextView
android:text="@string/mainTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="25dip"
android:textSize="24.5sp"/>
<!-- Patient Option -->
<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/patientButton"
android:id="@+id/patientButton">
</Button>
<!-- Doctor Option -->
<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/doctorButton"
android:layout_weight="1"
android:id="@+id/doctorButton">
</Button>
<!-- Exit Mode -->
<Button android:text="@string/exit"
android:layout_weight="1"
android:id="@+id/exit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"></Button>
<!-- About Mode -->
<Button android:text="@string/aboutButton"
android:layout_weight="1"
android:id="@+id/aboutButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"></Button>
</LinearLayout>
</LinearLayout>
これは、カスタムボタンの宣言方法によって異なります。コード内またはXMLリソース内。 –
両方で宣言しました – YoKaGe
通常、onCreate()で宣言します。おそらく、ボタンのコントローラーを作ることを検討するべきでしょう。 onCreate()で目的のビューでコントローラをインスタンス化します。 –