私が作っているタスクリスト/マネージャーアプリに問題があります。 ViewTasksActivityにEditTextがあり、AddTaskActivityに移動するボタンがあります。ViewTasksActivityアクティビティEditTextにテキストを入力すると、AddTaskActivityに表示されるように設定しています。これは良いですが、それはメモリに保存されていますので、ViewTasksActivity EditTextに新しいテキストを入力すると、前に書かれたものの最後に実際に追加され、AddTaskActivityに移ります!混乱する!私はそれを説明する言葉を見つけることができません!ここで私のedittextから1アクティビティから別のアクティビティへテキストを持ち帰り、空であればクリアする
iがViewTasksActivityがTaskManagerActivity {
private EditText taskNameEditText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
taskNameEditText = (EditText) findViewById (R.id.EditText_taskName);
}
// Buttons Start
public void Button_chooseTaskList_Clicked(View view) {
}
public void Button_createNewTask_Clicked(View view) {
String taskName = taskNameEditText.getText().toString();
Task t = new Task(taskName);
getTaskManagerApplication().addTask(t);
Intent intent = new Intent(this, AddTaskActivity.class);
startActivity(intent);
}
// Buttons End
}
main.xmlがaddtaskactivityである
<TableLayout
android:id="@+id/Table_tableTop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/Divider_1"
android:paddingTop="5dip"
android:paddingLeft="4dip"
android:stretchColumns="2" >
<TableRow>
<Button
android:id="@+id/Button_chooseTaskList"
android:background="@drawable/iv_newtask"
android:layout_column="1"
android:onClick="Button_chooseTaskList_Clicked"
/>
<EditText
android:id="@+id/EditText_taskName"
android:hint="@string/edittext_hint_text_name"
android:layout_column="2"
android:textSize="13dip"
/>
<Button
android:id="@+id/Button_createNewTask"
android:background="@drawable/button_addnewtask"
android:layout_column="3"
android:onClick="Button_createNewTask_Clicked"
/>
</TableRow>
</TableLayout>
で延びてこれまで...
パブリッククラスを有するコードであります
私が言ったようにpublic class AddTaskActivity extends TaskManagerActivity {
private EditText taskNameEditText;
private DateFormat fmtDate = DateFormat.getDateInstance(DateFormat.LONG);
private DateFormat fmtTime = DateFormat.getTimeInstance(DateFormat.SHORT);
private TextView showDate;
private TextView showTime;
private TextView showEndDate;
private TextView showEndTime;
private Calendar myCalendar = Calendar.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_task);
taskNameEditText = (EditText) findViewById (R.id.EditText_taskName);
showDate = (TextView) findViewById(R.id.showDate);
showTime = (TextView) findViewById(R.id.showTime);
showEndDate = (TextView) findViewById(R.id.showEndDate);
showEndTime = (TextView) findViewById(R.id.showEndTime);
setupListSpinner();
}
@Override
protected void onResume() {
super.onResume();
showTaskName();
}
private void showTaskName() {
ArrayList<Task> tasks = getTaskManagerApplication().getCurrentTasks();
StringBuffer sb = new StringBuffer();
for (Task t:tasks) {
sb.append(String.format("%s", t.toString()));
}
taskNameEditText.setText(sb.toString());
}
add_task.xmlが
<TableLayout
android:id="@+id/Table_taskName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/Divider_1"
android:paddingTop="5dip"
android:paddingLeft="4dip"
android:paddingRight="4dip"
android:stretchColumns="2" >
<TableRow>
<EditText
android:id="@+id/EditText_taskName"
android:hint="@string/edittext_hint_text_name"
android:layout_column="2"
android:textSize="13dip"
/>
</TableRow>
</TableLayout>
あり、それが情報を保持しているが、アプリを閉じている場合でも、それはまだメモリに保持します。 お願いします!
おかげ クリス
ありがとう、私はそれをやったやり方よりもはるかに簡単に、非常に感謝! – stoff