初めての Android アプリを作成しています。かなり単純なようです。しかし、私は Java と Android の完全な初心者です (私は C、C++ などに精通しています)。これがこれまでで最もばかげた質問である場合は申し訳ありません。とにかく、Android dev Web サイトの手順に従いました。
このアプリは、ユーザーに名前を入力して 1 番目、2 番目、または 3 番目のシフトのラジオ ボタンをクリックさせることになっています。ダウンタイム ボタンをクリックすると、別のページ (アクティビティ) に移動し、名前とシフトが表示されます。選択され、別のテキスト ボックスと時間入力が表示されます。
これまでのところ、 MainActivity.java を次のようにしました。
package com.cyapps.downtime;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends Activity {
public final static String EXTRA_MESSAGE = "com.cyapps.downtime.MESSAGE";
public void clickedButton1(View view) {
Intent intent = new Intent(this, WinderDTActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
public void clickedButton2(View view) {
Intent intent = new Intent(this, ClamperDTActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
public void clickedButton3(View view) {
Intent intent = new Intent(this, OtherDTActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
そして、次のような activity_main.xml :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<EditText
android:id="@+id/edit_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="41dp"
android:ems="10"
android:hint="@string/edit_message" />
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/edit_message"
android:layout_centerHorizontal="true"
android:layout_marginTop="26dp"
android:text="@string/radio_button1" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/radioButton1"
android:layout_centerHorizontal="true"
android:text="@string/radio_button2" />
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/radioButton2"
android:layout_centerHorizontal="true"
android:text="@string/radio_button3" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button2"
android:layout_centerHorizontal="true"
android:text="@string/button_send1"
android:onClick="clickedButton1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button3"
android:layout_centerHorizontal="true"
android:text="@string/button_send2"
android:onClick="clickedButton2" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="40dp"
android:text="@string/button_send3"
android:onClick="clickedButton3" />
</RelativeLayout>
名前を入力してシフトをクリックすると、別のアクティビティが表示されるようになりました。このページには、あなたの名前とシフト番号が表示され、その他の情報を書き込むためのテキスト ボックスと、時間の入力と送信ボタンがあります。ボタンの操作方法を知っており、Eclipse のインターフェースで時間入力が表示されます。しかし、ラジオボタンを「送信」してページに表示できるようにする方法と、アクティビティを編集して特定のものを表示する方法がわかりません。よくわかりません。
WinderDTActivity.java は次のようになります。
package com.cyapps.downtime;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class WinderDTActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(20);
textView.setText(message);
// Set the text view as the activity layout
setContentView(textView);
}
}
activity_winder_dt.xml は次のようになります。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</RelativeLayout>
あなたが私を助けてくれるなら、事前にどうもありがとう. 私がどれだけ感謝しているか、あなたにはわからないでしょう。私はこれを理解しようと懸命に努力してきましたが、xml と Java を連携させる方法について完全に混乱しています。助けてください!