Android按钮onClickListener [关闭]

问题描述 投票:16回答:4

我试图通过点击我的Activity方法中的按钮打开新的OnClickListenerOnClickListener方法如何工作以及应该如何开始新的Activity

java android android-intent onclicklistener
4个回答
37
投票

这个任务可以使用一个名为Intents的android主要构建块和属于您的Activity类的public void startActivity (Intent intent)方法之一来完成。

意图是要执行的操作的抽象描述。它可以与startActivity一起使用来启动Activity,broadcastIntent可以将它发送到任何感兴趣的BroadcastReceiver组件,startService(Intent)或bindService(Intent,ServiceConnection,int)可以与后台服务进行通信。

Intent提供了一种工具,用于在不同应用程序中的代码之间执行延迟运行时绑定。它最重要的用途是发起活动,它可以被认为是活动之间的粘合剂。它基本上是一个被动数据结构,包含要执行的动作的抽象描述。

参考官方文档 - http://developer.android.com/reference/android/content/Intent.html

public void startActivity (Intent intent) - 用于发起新活动。

所以假设你有两个Activity类 -

  1. PresentActivity - 这是您想要进行第二项活动的当前活动。
  2. NextActivity - 这是您要移动的下一个活动。

所以Intent会是这样的

Intent(PresentActivity.this, NextActivity.class)

最后这将是完整的代码

public class PresentActivity extends Activity {
  protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    setContentView(R.layout.content_layout_id);

    final Button button = (Button) findViewById(R.id.button_id);
    button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
              // Perform action on click   
              Intent activityChangeIntent = new Intent(PresentActivity.this, NextActivity.class);

              // currentContext.startActivity(activityChangeIntent);

              PresentActivity.this.startActivity(activityChangeIntent);
            }
          });
  }
}

13
投票
//create a variable that contain your button
Button button = (Button) findViewById(R.id.button);

    button.setOnClickListener(new OnClickListener(){
        @Override
        //On click function
        public void onClick(View view) {
            //Create the intent to start another activity
            Intent intent = new Intent(view.getContext(), AnotherActivity.class);
            startActivity(intent);
        }
    });

4
投票

使用OnClicklistener或者你可以在你的按钮的xml代码中使用android:onClick="myMethod",你将从中打开一个新的布局。因此,当单击该按钮时,将自动调用myMethod函数。你在课堂上的myMethod功能看起来像这样。

public void myMethod(View v) {
Intent intent=new Intent(context,SecondActivty.class);
startActivity(intent);
}

在SecondActivity.class中,在contentview中设置新的布局。


2
投票

简单:

启动活动(onclick处理程序)

 Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
 myIntent.putExtra("key", value); //Optional parameters
 CurrentActivity.this.startActivity(myIntent);

关于新活动:

@Override
protected void onCreate(Bundle savedInstanceState) {
Intent intent = getIntent();
String value = intent.getStringExtra("key"); //if it's a string you stored.

并在AndroidManifest.xml中添加新活动:

<activity android:label="@string/app_name" android:name="NextActivity"/>
© www.soinside.com 2019 - 2024. All rights reserved.