it-swarm.com.de

android Eclipse button OnClick Ereignis

Ich habe 2 Dateien: main_activity.xml und home.xml. Ich habe eine Schaltfläche in main_activity.xml erstellt

Hier ist das Code-Snippet:

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
 xmlns:tools="http://schemas.Android.com/tools"
 Android:layout_width="match_parent"
 Android:background="@drawable/splash_background"
 Android:layout_height="match_parent"
 Android:paddingBottom="@dimen/activity_vertical_margin"
 Android:paddingLeft="@dimen/activity_horizontal_margin"
 Android:paddingRight="@dimen/activity_horizontal_margin"
 Android:paddingTop="@dimen/activity_vertical_margin"
 tools:context=".MainActivity" >

<Button
    Android:id="@+id/Home"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignParentRight="true"
    Android:layout_alignParentTop="true"
    Android:layout_marginRight="43dp"
    Android:onClick="home"
    Android:text="Home" />

</RelativeLayout>

Und dann habe ich meine home.xml. Ich möchte, dass die Schaltfläche home.xml öffnet. Wie kann ich das machen? Ich kenne kein Java und bin neu in der Android-Entwicklung.

Hier ist meine home.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:background="@drawable/app_bg"
    Android:layout_height="match_parent"
    Android:orientation="vertical" >


</LinearLayout>

Und unten ist meine AndroidManifest.xml:

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

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

 <application
    Android:allowBackup="false"
    Android:icon="@drawable/ic_launcher"
    Android:label="@string/app_name"
    Android:theme="@style/AppTheme" >
    <activity
        Android:name="com.example.idozer.SplashActivity"
        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="com.example.idozer.MainActivity"
        Android:label="@string/app_name" >
    </activity>
</application>
</manifest>

Und das ist alles was ich habe. Wenn Sie antworten, teilen Sie mir bitte mit, wo der Code hinzugefügt werden soll, z. B. im Verzeichnis oder zwischen den Codeausschnitten.

5

Zum Verwalten der Klickaktivität in Android können Sie die folgenden Schritte ausführen

  1. Implementiere OnClickListener auf YourActivity.Java class like

    public class MainActivity extends Activity implements OnClickListener

  2. Dann deklarieren Sie Ihre Schaltfläche in der .Java-Klasse wie

    Button btn = (Button) findViewById(R.id.btnPlay);

  3. Dann benutze den Button btn variable wie unten

    btn.setOnClickListener(new View.OnClickListener() {
    
        public void onClick(View v) {
            myClick(v); /* my method to call new intent or activity */
        }
    });
    
  4. Behandeln Sie das Klick-Ereignis:

    public void myClick(View v) {
        Intent intent = new Intent(**this, Swipe.class**);
        startActivity(intent);// for calling the activity
    }
    

sie müssen außerdem Ihre Aktivität (.Java) in Android manifest wie unten angegeben registrieren

<activity
    Android:name=".Swipe"
    Android:screenOrientation="landscape" >
</activity>
8
Kirtikumar A.

Sie können diesen Code verwenden.

Android: OnClickListener

In unserer Aktivitätsklasse fügen wir die Onclick-Methode.

In unserer Aktivitätsklasse fügen wir die onclick-Methode hinzu.

    //On click event for button1
public void button1OnClick(View v) {
    //Inform the user the button has been clicked
    Toast.makeText(this, "Button1 clicked.", Toast.LENGTH_SHORT).show();               
}

In der Layoutdatei fügen wir einen Verweis auf den Onclick-Handler in der Aktivität hinzu. Die App bindet die onclick-Methode automatisch an die Ansicht (in diesem Fall button1).

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:orientation="vertical">

        <Button
            Android:id="@+id/button1"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="@string/button1"
            Android:onClick="button1OnClick"/>
</LinearLayout>
2

erstelle eine weitere Klasse gehe zu deinem Projekt mit der rechten Maustaste und klicke auf class und erstelle Home. In dieser Home-Klassendatei wird die Aktivität erweitert und Code wie folgt hinzugefügt

public class Home extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home);
  }
}

in Splash-Aktivitätsklasse füge diese Zeile hinzu

Intent intent = new Intent(SplashActivity.this,Home.class);
startActivity(intent);

fügen Sie die Home-Aktivitätsklasse zu Ihrer Android-Manifestdatei hinzu

<activity Android:name="com.example.idozer.Home"
    Android:label="@string/app_name" >
</activity>
1

Android:onClick wurde in API-Ebene 4 hinzugefügt, um es einfacher, Javascript-ähnlicher zu machen und alles aus dem XML heraus zu steuern. Intern wird eine OnClickListener zur Button hinzugefügt, die Ihre home-Methode aufruft.

<Button
  Android:id="@+id/Home"
  Android:layout_width="wrap_content"
  Android:layout_height="wrap_content"
  Android:layout_alignParentRight="true"
  Android:layout_alignParentTop="true"
  Android:layout_marginRight="43dp"
  Android:onClick="home"
  Android:text="Home" />

.

public void home(View view){
  Intent intent=new Intent (view.getContext(),Luton.class);
  this.startActivity(intent);
}

In deiner Aktivitätsklasse

Mit Java-Code können Sie einen Klick auf eine Schaltfläche ausführen, indem Sie die ID der Schaltfläche aus XML abrufen.

<Button
  Android:id="@+id/myHomeButton"
  Android:layout_width="wrap_content"
  Android:layout_height="wrap_content"
  Android:layout_alignParentRight="true"
  Android:layout_alignParentTop="true"
  Android:layout_marginRight="43dp"
  Android:text="Home" />

.

Button button= (Button) findViewById(R.id.myHomeButton);
button.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
     //do whatever you want on button click
  }
});   

Beide sind genau gleich

0
Raghunandan

Ich gebe Ihnen nur einen kleinen Anhaltspunkt, da diese Antwort anderen helfen kann, die Probleme mit der Verwendung von onClick() auf diese Weise haben, aber Sie müssen wirklich Java lernen und die ANDROID DOCS durcharbeiten. So können Sie bessere Fragen stellen

Sie müssen Here über Actviities lesen und wie man sie erstellt. Dann haben Sie in Ihrem Code eine Funktion

 public void home(View v)  //the name of this function comes from where you declared in your manifest `Android:onClick="home"
{
     Intent intent (MainActivity.this, HomeActivity.class); //MainActivity is the name of current activity and HomeActivity is the name of the activity you want to start
     can add intent extras/flags/categories here
     startActivity(intent);
}

Sie müssen auch die HomeActivity in Ihre manifest einfügen, wie Sie es für die andere Activities getan haben.

Aber Sie müssen wirklich die Dokumentation durchgehen und einige Tutorials machen, um eine Vorstellung davon zu bekommen, wie das Android-Framework funktioniert, und Sie müssen Java lernen, um Ihr Leben viel einfacher zu machen. Neben den beiden vorherigen Links, die ich angegeben habe, gibt es auch diesen Beitrag zu Klickereignissen, da es verschiedene Möglichkeiten gibt, onClick() zu verwenden.

Ich hoffe, dies ist genug, um Ihnen den Einstieg zu erleichtern, und ich hoffe wirklich, dass Sie die Dokumente durchgehen, um ein besseres Verständnis für Ihre Arbeit zu erlangen. Viel Glück!

Ein weiterer wichtiger Link für den Einstieg

Absichten

0
codeMagic
Button button = (Button) findViewById(R.id.button1);
    button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(MainActivity.this, "Button Clicked", Toast.LENGTH_SHORT).show();
        }
    });
0
Omid Farvid