Wenn ich richtig liege, ist die Frage, wie man mit Intents und Handlern arbeitet. Zunächst einmal sollte Ihre splashActivity.java so aussehen;
public class SplashActivity extends Activity{
//timer in miliseconds, 1000ms = 1s//
private static int SPLASH_TIME_OUT = 2000;
//create first screen showed when app is launched//
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
new Handler().postDelayed(new Runnable() {
//showing splashscreen with a timer //
@Override
public void run() {
//this is executed once the timer is over//
Intent i = new Intent(SplashActivity.this, WelcomeActivity.class);
startActivity(i);
finish();
}
},SPLASH_TIME_OUT);
}
}
dann erklären, um Ihre Menü-Aktivität und splash Aktivität in AndroidManifest.xml zum Beispiel;
<activity
android:name=".SplashActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".WelcomeActivity"
android:screenOrientation="sensor" />
<activity
android:name=".MainActivity"
android:screenOrientation="sensor" />
Dann, wie Sie Haupttätigkeit nach Ihrer Begrüßungs-Aktivität zu öffnen, einfach kopieren und den Code für SplashActivity.java in Ihre WelcomeActivity einfügen, notwendige Änderungen vorzunehmen, aber wie mit der Taste zu öffnen, siehe Beispiel Code unter erstens aus Ihrer Schaltfläche zeigen Sie bereits in Ihrem activity_welcome.xml z
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_welcome"
android:layout_width="match_parent"
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="com.domainname.yourappname.WelcomeActivity"
android:background="@drawable/splash"
<Button
android:text="@string/got it"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button"
style="@style/Widget.AppCompat.Button.Borderless"
android:textAlignment="center"
android:textSize="30sp"
android:layout_marginTop="41dp"
android:textColorHighlight="@android:color/transparent"
android:textColorHint="@android:color/transparent"
android:layout_below="@+id/textView3"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
In Ihrem WelcomeActivity.java
public class WelcomeActivity extends Activity {
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
addListenerOnButton();
}
public void addListenerOnButton() {
final Context context = this;
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, MainActivity.class);
startActivity(intent);
finish();
Toast.makeText(context, "MainActivity Opened.", Toast.LENGTH_SHORT).show();
}
});
}
}
NB: Ich weiß nicht, welches Programm Sie schreiben, oder wie Sie es weit so entworfen haben, ist dies nur ein Beispiel und deine Macht müssen Anpassungen vornehmen, damit Ihr tatsächlicher Code ordnungsgemäß ausgeführt wird
Solange Sie Ihre WelomeActivity in Ihrem Manifest deklarieren, sollten Sie in der Lage sein, sie mit startActivity() intent aufzurufen –