it-swarm.com.de

Verwenden von Intent in einer Android Anwendung, um eine andere Aktivität anzuzeigen

In meiner Android Anwendung habe ich zwei Aktivitätsklassen. Ich habe eine Schaltfläche auf der ersten und ich möchte die zweite anzeigen, wenn darauf geklickt wird, aber ich erhalte eine Fehlermeldung. Hier sind die Klassen :

public class FirstActivity extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button orderButton = (Button)findViewById(R.id.order);

    orderButton.setOnClickListener(new View.OnClickListener() {

      @Override
      public void onClick(View view) {
        Intent intent = new Intent(FirstActivity.this, OrderScreen.class);
        startActivity(intent);
      }

    });
  }
}

Die zweite Klasse, die angezeigt werden soll, wenn auf die Schaltfläche geklickt wird, aber niemals:

public class OrderScreen extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.order);

    Button orderButton = (Button) findViewById(R.id.end);

    orderButton.setOnClickListener(new View.OnClickListener() {

      @Override
      public void onClick(View view) {
        finish();
      }

    });
  }
}

Wie erstelle ich eine Schaltfläche, die die zweite Aktivität anzeigt?

194
Tai Squared

Das Problem war, dass der OrderScreen Activity nicht zum AndroidManifest.xml hinzugefügt wurde. Nachdem ich das als Anwendungsknoten hinzugefügt hatte, funktionierte es ordnungsgemäß.

<activity Android:name=".OrderScreen" />
176
Tai Squared

Fügen Sie diese Zeile zu Ihrer AndroidManifest.xml hinzu:

<activity Android:name=".OrderScreen" /> 
161
user106011

----FirstActivity.Java -----

    package com.mindscripts.eid;
    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 FirstActivity extends Activity {

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button orderButton = (Button) findViewById(R.id.order);
    orderButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(FirstActivity.this,OrderScreen.class);
            startActivity(intent);
        }
    });

 }
}

---OrderScreen.Java ---

    package com.mindscripts.eid;

    import Android.app.Activity;
    import Android.os.Bundle;
    import Android.view.View;
    import Android.view.View.OnClickListener;
    import Android.widget.Button;



    public class OrderScreen extends Activity {
@Override



protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.second_class);
    Button orderButton = (Button) findViewById(R.id.end);
    orderButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            finish();
        }
    });

 }
}

---AndroidManifest.xml ----

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
  package="com.mindscripts.eid"
  Android:versionCode="1"
  Android:versionName="1.0">


<application Android:icon="@drawable/icon" Android:label="@string/app_name">
    <activity Android:name=".FirstActivity"
              Android:label="@string/app_name">
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN" />
            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity Android:name=".OrderScreen"></activity>
</application>
16
Sunil Chavan

Verwenden Sie diesen Code:

Intent intent=new Intent(context,SecondActivty.class);
startActivity(intent);
finish();

kontext: Bezieht sich auf den aktuellen Aktivitätskontext.

bitte stellen Sie sicher, dass Sie Aktivitäten in der Android Manifestdatei hinzugefügt haben.

Folgender Code zum Hinzufügen von Aktivitäten in Android Manifest-Datei

<Activity name=".SecondActivity">
</Activity>
4
Mahesh
<activity Android:name="[packagename optional].ActivityClassName"></activity>

Das Hinzufügen der Aktivität, zu der wir wechseln möchten, sollte einfach in der Manifestdatei erfolgen

4
java dev
b1 = (Button) findViewById(R.id.click_me);
        b1.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

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

            }
        });
3
Hiren Patel

Wenn Sie eine Aktivität in Android Datei erstellen, müssen Sie diese in AndroidManifest.xml wie angegeben

<uses-sdk Android:minSdkVersion="8" />

<application
    Android:icon="@drawable/ic_launcher"
    Android:label="@string/app_name" >
    <activity
        Android:name=".MyCreativityActivity"
        Android:label="@string/app_name" >
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN" />

            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>


     <activity Android:name=".OrderScreen"></activity>


</application>

Im Manifest

<activity Android:name=".OrderScreen" />

Im Java Code, wo Sie Intent-Code platzieren müssen

startActivity(new Intent(CurrentActivity.this, OrderScreen.class);
2
Nilesh Panchal

fügen Sie die Aktivität Ihrer Manifestdatei hinzu

<activity Android:name=".OrderScreen" />
2
Neal Ahluvalia

sie können den Kontext der Ansicht verwenden, die den Aufruf ausgeführt hat. Beispiel:

Button orderButton = (Button)findViewById(R.id.order);

orderButton.setOnClickListener(new View.OnClickListener() {

  @Override
  public void onClick(View view) {
    Intent intent = new Intent(/*FirstActivity.this*/ view.getContext(), OrderScreen.class);
    startActivity(intent);
  }

});
1
Bruno
Intent i = new Intent("com.Android.SubActivity");
startActivity(i);
1
Ndupza