2011-12-17 42 views
0

我对Android非常陌生,并且有一段简单的代码,它有一些按钮,当点击它时会打开正确的下一个屏幕(PriceScreen),但当另一个点击时(LocationScreen)在线startActivity(viewlocationScreen);崩溃第一个应用程序 - 在startActivity上崩溃

LocationScreen.java和PriceScreen.java的代码“似乎”是完全一致的。 代码调用它是

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); 
    } 

在上面的代码,如果我注释掉线

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

并使用.... PriceScreen.class);作为结束,而不是..它的工作原理。 谁能告诉我为什么?

在此先感谢 托尼

+0

您是否已将“LocationScreen”活动添加到清单中? – Dalmas 2011-12-17 18:29:55

+0

“谁能告诉我为什么?” - 只是猜测,但你还没有在你的'AndroidManifest.xml'中声明'LocationScreen'为''?如果这不是答案,那么发布logcat输出。 – Squonk 2011-12-17 18:31:28

+4

欢迎来到SO。当试图解决Java/Android中的崩溃问题时,最好将堆栈跟踪添加异常详细信息,这样,没有人需要猜测太多,并且帮助您更容易。 – MByD 2011-12-17 18:32:41

回答

0

你已经注册在清单文件中的第二个活动? 如果您也可以发布您的清单文件,这将有助于诊断问题。

应用程序中使用的所有活动必须在清单文件中有一个条目才能让android实际启动它们。

不需要在发射露面

额外的活动可以在这样的清单文件中注册(从应用程序我目前工作)

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

随着“.LineupActivity”在该示例将替换为您的活动的类名称。在你的情况下.LocationScreen

+0

在这个活动的Android manifest.xml中有一个定义。 这里是大部分文件 ... ... 的<活动机器人:名字=机器人 “LocationScreen”:标签= “位置屏幕”> <活动的android: “PriceScreen” NAME =机器人:标签=“价格屏幕”> <使用库机器人:名字=“com.google.android.maps” /> NoToy 2011-12-18 17:04:15

+0

您可以编辑您的问题,并从增加堆栈跟踪和异常的详细信息logcat输出? – 2011-12-18 18:54:01

+0

我相对比较新的android ..并在控制台中看到,似乎有写入文件的权限问题。 – NoToy 2011-12-18 19:28:01

相关问题