簡體   English   中英

單擊按鈕后打開一個新活動

[英]Open a new activity after clicking the Button

您好,我是編程代碼的新手,我正在創建一個android應用。 我試圖創建一個在點擊按鈕后打開新活動的意圖。

這是我主要活動的xml,僅是按鈕:

<Button
        android:id="@+id/logIn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Log In"
        android:textColor="#FFFFFF"
        android:onClick="openLogIn"
        android:textSize="16sp" />

這是我的mainActivity Java:

package com.example.android;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

import com.example.android.linexpress.DisplayLogInActivity;
import com.example.android.linexpress.R;

/**
 * Created by EnriqueAlcacer on 15/06/2017.
 */

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}


/** Called when the user clicks the Send button */
public void opeLogIn (View view) {
    // Do something in response to button
    Intent i = new Intent(this, DisplayLogInActivity.class);
    startActivity(i);

}
}

非常感謝您的幫助!

這個:

 android:onClick="openLogIn"

應該在活動..中與您的函數名稱匹配,因此將其更改為:

public void openLogIn (View view) {
    // Do something in response to button
    Intent i = new Intent(this, DisplayLogInActivity.class);
    startActivity(i);

}

確保還在清單中添加DisplayLogInActivity

在setOnclicklistener中,將意圖添加到下一個活動,然后將要傳遞的數據放入putextra函數中。

即使您是android編程的新手,我也不鼓勵您使用XML的onClick。

您應該使用findViewById函數獲取按鈕的引用,然后在其上設置一個偵聽器。

看起來像

Button btnLogIn = (Button) findViewById(R.id.logIn);
btnLogIn.setOnClickListener(new OnClickListener() {
    public void onClick(View v)
    {
        Intent intent = new Intent(Mainactivity.this, DisplayLogInActivity.class);
        startActivity(intent);
    } 
});

如果您不傳遞意圖數據,則可以使用縮寫形式:

startActivity(new Intent(MainActivity.this, DisplayLogInActivity.class););

您只是有錯別字。 使Java和XML onClick方法都具有相同的名稱openLogIn

這種方法有這樣的局限性: android:onClick適用於API級別> = 4

實現View.OnClickListener

@Override
    public void onClick(View view) {
        int id=view.getId();
        switch(id){
           case: R.id.logIn
              Intent i = new Intent(MainAvtivity.this,DisplayLogInActivity.class);
              startActivity(i);
        }
    }

在OnCreate內設置一個偵聽器,例如

Button logIn = (Button)findViewById(R.id.LogIn);
logIn.setOnClickListener(this);

而已。

暫無
暫無

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

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