Ich lerne Android-Anwendungen zu erstellen und benötige spezielle Hilfe. Ich kann mir nicht vorstellen, welche Teile des Vorlagencodes ich ändern muss und welche statisch sind.
Im LAYOUT- Ordner habe ich meine ACTIVITY_MAIN.XML, die liest
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/main_buttons_photos" />
</LinearLayout>
Als nächstes habe ich meine zweite Tätigkeit ACTIVITY_SEND_PHOTOS.XML welche
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world"
tools:context=".SendPhotos" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/title_activity_send_photos"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
Ich habe dann meine MainActivity.java (ist das die .class?), Die das Paket com.example.assent.bc liest;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
/** Called when the user clicks the Send button */
public void sendMessage(View view) {
// Do something in response to button
}
}
und dann meine SendPhotos.java- Datei, die ist;
package com.example.assent.bc;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
public class SendPhotos extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send_photos);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_send_photos, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
}
Ich möchte, dass die Schaltfläche in meiner Hauptaktivität auf meine Sendphotos-Aktivität verweist und diese Aktivität einfach öffnet, nichts Besonderes, keine Daten oder irgendetwas sendet.
Ich weiß, dass ich irgendwo meine brauche
Intent i = new Intent(FromActivity.this, ToActivity.class);
startActivity(i);
Aber ich habe keine Ahnung, durch was ich ToActivity.class ersetzen soll oder was ich sonst noch wo brauche.
quelle
Antworten:
Sie können mit einem Klick auf die Schaltfläche zur gewünschten Aktivität wechseln. Fügen Sie einfach diese Zeile hinzu.
android:onClick="sendMessage"
xml:
Fügen Sie in Ihrer Hauptaktivität einfach diese Methode hinzu:
Und das Wichtigste: Vergessen Sie nicht, Ihre Aktivität in zu definieren
manifest.xml
quelle
>
in der Aktivität TagView
,Intent
und die Aktivitätsnamen sind in rot. Muss ich etwas für View importieren?android:onClick="sendMessage"
Versuche dies
quelle
Aus Aktivität: Wo bist du gerade?
Zur Aktivität: Wohin möchten Sie gehen?
Intent i = new Intent( MainActivity.this, SendPhotos.class); startActivity(i);
Beide Aktivitäten müssen in der Manifestdatei enthalten sein, da sonst die Klassendatei nicht gefunden und Force close geschlossen wird.
Bearbeiten Sie Ihre Mainactivity.java
Schreiben Sie jetzt Code für das Klickereignis.
Hoffe es wird für dich funktionieren.
quelle
Die Antwort für den vollständigen Noob von einem vollständigen Noob:
MainActivity
ist der Name der ersten Aktivität.MainActivity2
ist der Name der zweiten Aktivität.button1
ist die ID der Schaltfläche in XML fürMainActivity
Aktivität.quelle
Folgen Sie einfach diesem Schritt (ich schreibe keinen Code, nur weil Sie kopieren und einfügen können und nicht lernen können).
Zunächst müssen Sie eine Schaltfläche deklarieren, die Sie im Layout haben
Verweisen Sie auf diese Schaltfläche, indem Sie ihre ID (mithilfe von findviewById) in oncreate suchen
setlistener für button (wie setonclick listener)
Zuletzt das Klickereignis behandeln (bedeutet, dass Sie eine neue Aktivität mit Absicht starten, wie Sie bereits wissen).
Vergessen Sie nicht, Aktivitäten in die Manifestdatei aufzunehmen
Übrigens ist dies nur einfach. Ich möchte Ihnen vorschlagen, dass es für Sie besser ist, einfach mit einfachen Tutorials zu beginnen, die im Internet verfügbar sind.
Viel Glück für Android
quelle
Ersetzen Sie den folgenden Zeilencode:
Fügen Sie die folgenden Zeilen in Ihre Manifestdatei ein:
quelle
Ersetzen Sie Ihre MainActivity.class durch diesen Code
Fügen Sie diesen Code in Ihr
AndroidManifest.xml
nach dem</activity>
und vor</application>
quelle
Das funktioniert immer, beides sollte in Ordnung sein:
quelle
Fügen Sie den folgenden Code zur Datei activity_main.xml hinzu:
und fügen Sie einfach die folgende Methode zur Datei MainActivity.java hinzu:
quelle
Wenn Sie zwei Schaltflächen haben und denselben ID-Aufruf für Ihre Schaltflächen haben, klicken Sie auf folgende Ereignisse:
Wenn Sie auf geklickt haben
button1
,button2
funktioniert dies und Sie können Ihre zweite Aktivität nicht öffnen.quelle
IM JAVA-CODE
}}
quelle
Sie können mit einem Klick auf die Schaltfläche zur gewünschten Aktivität wechseln. füge einfach
android hinzu: onClick = "timerApp" diese Zeile.
Fügen Sie in Ihrer Hauptaktivität einfach diese Methode hinzu:
ODER fügen Sie in der onCreate () -Methode den folgenden Code hinzu
quelle