main.java
(スプラッシュ画面) からIntro.java
Android アプリケーションに移動しようとしています。しかし、私は次のエラーが発生しています...
thread exiting with uncaught exception (group=0x40015560)
これは私のコードです...
main.java:
public class main extends Activity {
/** Called when the activity is first created. */
boolean _active = true;
final int _splashTime = 2000; // time to display the splash screen in ms
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
// thread for displaying the SplashScreen
Thread splashTread = new Thread()
{
@Override
public void run()
{
try {
int waited = 0;
while(_active && (waited < _splashTime)) {
sleep(100);
// waited is incremented by 100 after every sleep for 100 ms
if(_active) {
waited += 100;
}
}
}
catch(InterruptedException e) {
}
finally {
finish();
Intent inte = new Intent(main.this, Intro.class);
startActivity(inte);
}
}
};
splashTread.start();
}
// this is to skip splash screen by touch event
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
_active = false;
}
return true;
}
}
はじめに.java
public abstract class Intro extends Activity implements OnClickListener
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
Log.d("Error"," Intro Started ");
super.onCreate(savedInstanceState);
setContentView(R.layout.intro);
RelativeLayout layout = (RelativeLayout) findViewById(R.layout.intro);
layout.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1)
{
Log.d("Error"," Touch Listener set ");
Intent i=new Intent(Intro.this,features.class);
startActivity(i);
return false;
}
});
}
}
intro.java は、ユーザーのタッチによって features.java に移動するはずでした...
マニフェスト ファイル
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ubuntu.app"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ubundroid"
android:label="@string/app_name" >
<activity
android:name=".main"
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=".Intro" />
<activity android:name=".Feature"/>
</application>
</manifest>
Logcat :
D/dalvikvm(1229): newInstance failed: p0 i0 [0 a1
D/AndroidRuntime(1229): Shutting down VM
W/dalvikvm(1229): threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime(1229): FATAL EXCEPTION: main
E/AndroidRuntime(1229): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.ubuntu.app/ com.ubuntu.app.Intro}: java.lang.InstantiationException: com.ubuntu.app.Intro
E/AndroidRuntime(1229): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
E/AndroidRuntime(1229): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
E/AndroidRuntime(1229): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
E/AndroidRuntime(1229): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
E/AndroidRuntime(1229): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(1229): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(1229): at android.app.ActivityThread.main(ActivityThread.java:3683)
E/AndroidRuntime(1229): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1229): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(1229): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime(1229): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime(1229): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(1229): Caused by: java.lang.InstantiationException: com.ubuntu.app.Intro
E/AndroidRuntime(1229): at java.lang.Class.newInstanceImpl(Native Method)
E/AndroidRuntime(1229): at java.lang.Class.newInstance(Class.java:1409)
E/AndroidRuntime(1229): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
E/AndroidRuntime(1229): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
E/AndroidRuntime(1229): ... 11 more
前もって感謝します...
===========================編集===================== ===============
Intro.java のすべてのタッチ イベントを削除すると、実行が開始されました。新しいJavaファイルは次のとおりです。
package com.ubuntu.app;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class Intro extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
Log.d("Error"," Intro Started ");
super.onCreate(savedInstanceState);
setContentView(R.layout.intro);
}
}
しかし、ユーザーのタッチによって次のアクティビティに進む正しい方法を取得したいと思います..