【问题标题】:How to start an activity in Android?如何在 Android 中启动 Activity?
【发布时间】:2014-09-13 12:10:14
【问题描述】:

我对 android 编程很陌生。我想使用一个代码,通过单击按钮将我从当前活动带到 MainActivity。

这是我当前的代码:

package com.example.flashlightapp;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Whitelight extends Activity implements OnClickListener {

    Button b1 = (Button) findViewById(R.id.b3);

    Intent i = new Intent(this, MainActivity.class);
    {
        this.startActivity(i);
    }

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

    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

    }

}

我应该放什么

@Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        }

【问题讨论】:

    标签: android eclipse android-intent


    【解决方案1】:

    首先,您必须检查是否在 manifest.xml 文件中声明了所有活动。

    在你的 Java 代码中试试这个:

        package com.example.flashlightapp;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    
    public class Whitelight extends Activity  {
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_whitelight);
           Button b1 = (Button) findViewById(R.id.b3);
           b1.setOnClickListener(new OnClickListener() {
              @Override
              public void onClick(View v) {
            // TODO Auto-generated method stub
    
        Intent i = new Intent(Whitelight.this, MainActivity.class);
    
            this.startActivity(i);
        }
        });
    
       }
    
    }
    

    本教程解释了如何使用意图和侦听器:http://goo.gl/phLWkx

    【讨论】:

      【解决方案2】:

      试试这个..

      public class Whitelight extends Activity implements OnClickListener {
      
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_whitelight);
      
              Button b1 = (Button) findViewById(R.id.b3);       // Initialization of Button
              b1.setOnClickListener(this);                      // Initialization of ClickListener to the Button
          }
      
          @Override
          public void onClick(View v) {
              // TODO Auto-generated method stub
              Intent i = new Intent(this, MainActivity.class);
              startActivity(i);
          }
      
      }
      

      点击链接

      http://developer.android.com/index.html

      http://developer.android.com/training/index.html

      http://www.mkyong.com/tutorials/android-tutorial/

      【讨论】:

      • 如何通过单击按钮更改活动?
      • @DibyamKumar startActivity(intent) 将从当前活动开始到目标活动
      • 不能在 Intent 中直接使用“this” i = new Intent(this, MainActivity.class);你必须使用 Intent i = new Intent(Whitelight.this, MainActivity.class);
      • 另外,请告诉我如何在我的代码中为按钮 b1 设置 onClickListener。
      【解决方案3】:

      使用以下:

       Button b1;
       public class Whitelight extends Activity implements OnClickListener {
      
           @Override
          protected void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               setContentView(R.layout.activity_whitelight);
      
               b1 = (Button) findViewById(R.id.b3);       // Initialization of Button
               b1.setOnClickListener(this);                      // Initialization of ClickListener to       the Button
       }
      
       @Override
       public void onClick(View v) {
          // TODO Auto-generated method stub
      
            if(v==b1){
               Intent i = new Intent(this, MainActivity.class);
               startActivity(i);
            }
         }
      
       }
      

      在 onClick(...) 中:

      您可以选择是否按下按钮然后执行特定活动,在您的情况下,如果您按下 b1 按钮然后执行按钮特定活动:

      所以我们可以查看 v==b1 按钮。如果你想要更多按钮,那么

            if(v==b1){
               Intent i = new Intent(this, MainActivity.class);
               startActivity(i);
            }
            else if(v==b2)
            {
                // perform another action ;
            }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-29
        • 1970-01-01
        • 1970-01-01
        • 2013-06-15
        • 1970-01-01
        相关资源
        最近更新 更多