2012-01-28 22 views
0

アクティビティの切り替えに問題があります。私はそれが私のビューフリッパと関係があると思っています。ゲームアクティビティに切り替えるために「Start Game」ボタンをクリックすると、「捕捉されなかった例外のためにスレッドメインが終了しました」というエラーがスローされます。誰かが私に手を差し伸べることができる?私はゲームの開始アクティビティとそのレイアウトになることはできないことを知っています。どちらも失敗するのは簡単すぎます。私が言ったように、私はそれが私のviewflipperと関係があると思う。さらに進んで、もっと説明したい。アクティビティは、ユーザ名、パスワード、およびログインedittexts /ボタンを持つビューから開始され、ユーザとパスが受け入れられると、ビューがメインメニューに反転します。そこからスタートゲームを押す。アクティビティを変更できません

package com.login.test; 

import java.util.Timer; 
import java.util.TimerTask; 
import android.app.Activity; 
import android.content.Intent; 
import android.content.SharedPreferences; 
import android.os.Bundle; 
import android.os.Handler; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 
import android.widget.ViewFlipper; 

public class Login extends Activity { 

public EditText username, password; 
public Button loginbutton, start, stats; 
public ViewFlipper flip; 
public String dbu, dbp; 
final Handler handler = new Handler(); 
Timer t = new Timer(); 
public static final String KEEP_INFO = "remeberinfo"; 

public void startgame() { 

    Intent myIntent = new Intent(Login.this, Game.class); 
    startActivity(myIntent); 

} 

public void seescore() { 

    Intent myIntent2 = new Intent(Login.this, Score.class); 
    startActivity(myIntent2); 

} 


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




    username = (EditText) this.findViewById(R.id.username); 
    password = (EditText) this.findViewById(R.id.password);   
    loginbutton = (Button) this.findViewById(R.id.loginbutton); 
    start = (Button) this.findViewById(R.id.start); 
    stats = (Button) this.findViewById(R.id.stats); 
    flip = (ViewFlipper) this.findViewById(R.id.flip); 
    //when a view is displayed 
    flip.setInAnimation(this,android.R.anim.fade_in); 
    //when a view disappears 
    flip.setOutAnimation(this, android.R.anim.fade_out); 
    final Toast accessdenied = Toast.makeText(getApplicationContext(), "Incorrect username/password", 3); 
    final Toast accessgranted = Toast.makeText(getApplicationContext(), "Logging in", 3); 

    //calling for a stored data byte using sharedpreferences 
    SharedPreferences settings = getSharedPreferences(KEEP_INFO,0); 
    String keptusername = settings.getString("keptuser", ""); 
    String keptpassword = settings.getString("keptpass", ""); 

    username.setText(keptusername); 
    password.setText(keptpassword); 



    loginbutton.setOnClickListener(new View.OnClickListener() { 



     public void onClick(View v) { 

      dbu = (username.getText()).toString(); 
      dbp = (password.getText()).toString(); 

      try{ 

      } 
      finally{ 
       if ((dbu.equals("crete"))&&(dbp.equals("monee"))){ 
        username.setBackgroundResource(R.drawable.greenloginbutton); 
        password.setBackgroundResource(R.drawable.greenloginbutton); 
        loginbutton.setBackgroundResource(R.drawable.greenloginbutton); 
        accessgranted.show(); 
        //setting and valuing a data byte using sharedpreferences 
        SharedPreferences info = getSharedPreferences(KEEP_INFO,0); 
        SharedPreferences.Editor editor = info.edit(); 
        editor.putString("keptuser", dbu); 
        editor.putString("keptpass", dbp); 
        editor.commit(); 
        t.schedule(new TimerTask() { 
         public void run() { 
           handler.post(new Runnable() { 
             public void run() { 
              flip.showNext(); 
             } 
           }); 
          } 
        }, 2000); 

       } 
       else { 

        t.schedule(new TimerTask() { 
          public void run() { 
            handler.post(new Runnable() { 
              public void run() { 
               username.setBackgroundResource(R.drawable.loginbutton); 
               password.setBackgroundResource(R.drawable.loginbutton); 
               loginbutton.setBackgroundResource(R.drawable.loginbutton); 
              } 
            }); 
          } 
        }, 3000); 

        accessdenied.show(); 
        username.setBackgroundResource(R.drawable.redloginbutton); 
        password.setBackgroundResource(R.drawable.redloginbutton); 
        loginbutton.setBackgroundResource(R.drawable.redloginbutton); 
       } 
      } 

     } 
    }); 

    start.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      startgame(); 

     } 
    }); 

    stats.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      seescore(); 

     } 
    }); 

    } 
} 

LOGのCAT

01-28 12:03:56.125: D/dalvikvm(322): GC freed 594 objects/48504 bytes in 172ms 
01-28 12:03:57.065: D/dalvikvm(322): GC freed 49 objects/1904 bytes in 131ms 
01-28 12:03:57.838: D/ViewFlipper(322): updateRunning() mVisible=true, mStarted=false,   mUserPresent=true, mRunning=false 
01-28 12:04:09.176: D/AndroidRuntime(322): Shutting down VM 
01-28 12:04:09.185: W/dalvikvm(322): threadid=3: thread exiting with uncaught  exception (group=0x4001b188) 
01-28 12:04:09.195: E/AndroidRuntime(322): Uncaught handler: thread main exiting due  to uncaught exception 
01-28 12:04:09.267: E/AndroidRuntime(322): android.content.ActivityNotFoundException:  Unable to find explicit activity class  {com.beeseries.contextclues/com.beeseries.contextclues.Game}; have you declared this  activity in your AndroidManifest.xml? 
01-28 12:04:09.267: E/AndroidRuntime(322):  at  android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at  android.app.Instrumentation.execStartActivity(Instrumentation.java:1378) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.app.Activity.startActivityForResult(Activity.java:2749) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.app.Activity.startActivity(Activity.java:2855) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at com.beeseries.contextclues.Login.startgame(Login.java:29) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at com.beeseries.contextclues.Login$2.onClick(Login.java:136) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.view.View.performClick(View.java:2364) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.view.View.onTouchEvent(View.java:4179) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.widget.TextView.onTouchEvent(TextView.java:6540) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.view.View.dispatchTouchEvent(View.java:3709) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.app.Activity.dispatchTouchEvent(Activity.java:2061) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1691) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.os.Looper.loop(Looper.java:123) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at java.lang.reflect.Method.invoke(Method.java:521) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
01-28 12:04:09.267: E/AndroidRuntime(322):  at dalvik.system.NativeStart.main(Native Method) 
01-28 12:04:09.315: I/dalvikvm(322): threadid=7: reacting to signal 3 
01-28 12:04:09.435: I/dalvikvm(322): Wrote stack trace to '/data/anr/traces.txt' 
01-28 12:04:12.485: I/Process(322): Sending signal. PID: 322 SIG: 9 
+0

を。 – jeet

答えて

1

あなたはおそらく、AndroidManifest.xmlにこのような何かあなたのゲームアクティビティを宣言していない:誰もが正確な問題を見ることができるので、完全なlogcatを投稿してください

<activity android:name=".Game" 
<!-- other attributes and also possible intent-filters.--> 
/> 
+0

あなただけのマニフェストに追加することを忘れています。愚かな間違い... – codesomethin

関連する問題