[英]Open new class/activity on button click in android
如何在單擊按鈕時打開另一個活動? 因此,現在我的應用程序有一個main
窗口(運行應用程序時)。 然后是一個帶有一些按鈕的菜單,當我單擊某個按鈕時,將打開該按鈕的另一個活動。 因此,我有一個表單,用戶必須輸入他的詳細信息,但是現在我想單擊“ continue
”按鈕並打開另一個活動,他必須在該表單中輸入更多信息。 現在,單擊此按鈕后,信息將進入數據庫。 我知道如何添加像正常的網頁上更多的活動main
在這里我只按鈕,但在這一個我真的不知道。 這是代碼
public class Reservation extends Activity {
String Name;
String Email;
String Phone;
String Comment;
String DateTime;
String numberOfPeople;
private EditText editText1, editText3, editText2, editText4, txtDate, numberOfPeoples; //, txtTime;
private Button btnMenues, btnCalendar, btnTimePicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reservation);
editText1 = (EditText) findViewById(R.id.personName);
editText3 = (EditText) findViewById(R.id.personPhone);
editText2 = (EditText) findViewById(R.id.personEmail);
editText4 = (EditText) findViewById(R.id.personComment);
txtDate = (EditText) findViewById(R.id.datePicker);
numberOfPeoples = (EditText) findViewById(R.id.numberOfPeoples);
btnCalendar = (Button) findViewById(R.id.btnCalendar);
//btnTimePicker = (Button) findViewById(R.id.btnTimePicker);
btnMenues = (Button) findViewById(R.id.continueWithReservation);
btnMenues.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Reservation.this, ReservationSecond.class);
intent.putExtra(Name, Name.getBytes().toString());
intent.putExtra(Email, Email.getBytes().toString());
intent.putExtra(Phone, Phone.getBytes().toString());
intent.putExtra(Comment, Comment.getBytes().toString());
intent.putExtra(DateTime, DateTime.getBytes().toString());
intent.putExtra(numberOfPeople, numberOfPeople.getBytes().toString());
startActivity(intent);
}
});
}
那么我可以放入setOnClickListener
進行下一個活動嗎?
更新:如果我改變了
public void onClick(View v) {
Name = editText1.getText().toString();
Phone = editText3.getText().toString();
Email = editText2.getText().toString();
Comment = editText4.getText().toString();
DateTime = txtDate.getText().toString();
numberOfPeople = numberOfPeoples.getText().toString();
new SummaryAsyncTask().execute((Void) null);
}
對此
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Contacts.class);
startActivity(intent);
}
如何保留用戶到目前為止為下一個活動添加的信息,並在他完成第二個活動后將其保存在DB中?
您可以使用Intent
,然后調用startActivity()
與Intent
:
myBtn.setOnClickListener() {
public void onClick() {
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
}
Android文檔給出了很好的解釋
編輯
為了解決您在評論中提出的問題,在“ Activities
之間傳遞信息的最簡單方法是使用諸如:
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra(NAME, VALUE);
startActivity(intent);
putExtra
有多種版本以適應傳遞不同類型的值
存儲信息的另一種方法是使用SharedPreferences
。 這是一個簡單的例子
您還可以創建一個名為Storage
的public
類,並將您的數據表示為此類的static
成員(如Storage.MY_DATA
一樣訪問),以便可以從應用程序的任何位置對其進行訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.