简体   繁体   中英

How to start an activity in Android?

I am very new to android programming. I want to use a code that takes me to MainActivity from my current activity on a click of a Button.

Here is my current code:

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

    }

}

What should I put in

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

Try this..

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);
    }

}

Follow the links

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

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

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

Use following :

 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);
      }
   }

 }

in onClick(...) :

you can choose if your button is press then perform specific activity, in your case if you press b1 button then perform button specific activity :

so we can check view v==b1 button. if you want to more button then

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

At first you must check if you declared all your activities in the manifest.xml file.

and in your Java code try this:

    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);
    }
    });

   }

}

This tutorial explains how to use intents and listeners : http://goo.gl/phLWkx

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM