单击按钮后打开一个新活动

时间:2017-06-15 19:14:17

标签: java android xml android-intent

你好,我是编程代码的新手,我正在创建一个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);

}
}

非常感谢你的帮助!

6 个答案:

答案 0 :(得分:2)

此:

 android:onClick="openLogIn"

应该与您在活动中的函数名称匹配。所以将其更改为:

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

}

确保在清单中添加DisplayLogInActivity

答案 1 :(得分:1)

在setOnclicklistener中为下一个活动添加意图,并将您要传递的数据放入putextra函数中。

答案 2 :(得分:0)

即使您是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););

答案 3 :(得分:0)

你刚犯错误。 使Java和XML onClick方法同名[{1}}

答案 4 :(得分:0)

此方法具有此限制:android:onClick适用于API级别&gt; = 4

答案 5 :(得分:0)

实现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);

多数民众赞成。