2011-12-17 17 views
0

私はAndroidには新しく、いくつかのボタンがあり、クリックすると正しい次の画面(PriceScreen)が開きますが、もう一方がクリックされると(LocationScreen) startActivity(viewlocationScreen);行でクラッシュします。startActivityで最初にアプリケーションがクラッシュする

LocationScreen.javaとPriceScreen.javaのコードは、まったく同じであると思われます。 PriceScreen.class .... Iライン

Intent viewLocationScreen = new Intent(TaxiAppActivity.this,LocationScreen.class); 

及び使用をコメントアウトする場合は、上記のコードで

public class TaxiAppActivity extends Activity { 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Button bBtnYes = (Button) findViewById(R.id.btnYes); 
     bBtnYes.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View arg0) { 
      Intent viewLocationScreen = new Intent(TaxiAppActivity.this,LocationScreen.class); 
//   Intent viewLocationScreen = new Intent(TaxiAppActivity.this,PriceScreen.class); 
       startActivity(viewLocationScreen); // << error here 

      } 
     }); 

     Button cBtnGetPrice = (Button) findViewById(R.id.btnGetPrices); 
     cBtnGetPrice.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View arg0) { 
      Intent viewPriceScreen = new Intent(TaxiAppActivity.this,PriceScreen.class); 
      startActivity(viewPriceScreen); 
      } 
     }); 

//  super.onCreate(savedInstanceState); 
    } 

でそれを呼び出すコード)。代わりに終わりとして..それは動作します。 誰でも私にその理由を教えてもらえますか?事前 で

おかげでトニー

+0

マニフェストに 'LocationScreen'アクティビティを追加しましたか? – Dalmas

+0

"誰も私になぜ教えてもらえますか?" - ちょうど推測ですが、あなたの 'AndroidManifest.xml'に' LocationScreen'を ''として宣言していませんか?それは答えではない場合は、logcatの出力を投稿してください。 – Squonk

+4

ようこそ。 Java/Androidでクラッシュを解決しようとするときは、スタックトレースに例外の詳細を追加する方がよいでしょう。この方法では誰も推測する必要がなく、手助けするのが簡単になります。 – MByD

答えて

0

は、マニフェストファイルに第二の活動を、あなたを登録しましたか? マニフェストファイルも投稿できれば、問題の診断に役立ちます。

アンドロイドが実際に起動するためには、アプリケーションで使用されるすべてのアクティビティにマニフェストファイルのエントリが必要です。ランチャーに表示する必要はありません

追加の活動は、(私は現在で働いているアプリケーションから)このようなマニフェストファイルに登録することができます

<activity 
    android:label="@string/app_name" 
    android:name=".LineupActivity"> 
</activity> 

「.LineupActivity」でこの例はあなたのアクティビティのクラス名に置き換えられます。あなたの場合は.LocationScreenです。

+0

このアクティビティのAndroidマニフェストXMLに定義があります。ここで が... ファイル の最もです... <活動のアンドロイド:名= "LocationScreen" アンドロイド:ラベル= "場所画面"> <活動のアンドロイド:名= "PriceScreen" アンドロイド:ラベル=「価格画面」> は、<使用して、ライブラリアンドロイド:名=「com.google.android.maps」/> NoToy

+0

あなたの質問を編集してから、スタックトレースと例外の詳細情報を追加できますlogcatの出力? –

+0

私はアンドロイドに比較的新しいです。コンソールには、ファイルへの書き込みにアクセス権の問題があるようです。 – NoToy

関連する問題