簡體   English   中英

在android中單擊按鈕打開新課程/活動

[英]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 這是一個簡單的例子

您還可以創建一個名為Storagepublic類,並將您的數據表示為此類的static成員(如Storage.MY_DATA一樣訪問),以便可以從應用程序的任何位置對其進行訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM