2012-03-11 38 views
0

我正在尝试开发一个小应用程序BusTracker,它会在您提及从地点和地点时列出总线列表。 我有一个从按钮,当点击将调用另一个活动(这是一个列表活动),将显示一个地方的列表。我选择一个,然后将这个地方保存起来,第一个活动中的文本框会被填充。我在第二个活动的oncreate方法中遇到了stackOverFlowerror。任何人都可以给我一个可能的原因吗?当试图从另一个调用活动时获取StackOverflowError

这是我在firstActivity的onClick方法的代码

case R.id.from_button: 
Intent i= new Intent(this,PlacesActivity.class); 
startActivity(i); 
String ss=PlacesActivity.getPlace(); 

然后在secondActivity

this.onCreate(onSavedInstanceState); 
    setContentView(R.layout.places); 
    ListView placesList=(ListView)this.findViewById(R.layout.places); 

    placesList.setVisibility(View.VISIBLE); 
    placesList.setAdapter(new ArrayAdapter(this,R.array.fromArray)); 
    placesList.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
    //placesList.setOnItemClickListener(this); 

} 

public void onListItemClick(ListView l, View v, int position, long id) 
{ 
    Object o=this.getListAdapter().getItem(position); 
    String s=o.toString(); 
    place=s; 
    System.out.println("sssssssssssss"+s); 
} 

错误,我得到:

03-10 18:02:46.352: E/AndroidRuntime(542): FATAL EXCEPTION: main 
03-10 18:02:46.352: E/AndroidRuntime(542): java.lang.StackOverflowError 
03-10 18:02:46.352: E/AndroidRuntime(542): at com.example.BusTracker.PlacesActivity.onCreate(PlacesActivity.java:17) 
03-10 18:02:46.352: E/AndroidRuntime(542): at com.example.BusTracker.PlacesActivity.onCreate(PlacesActivity.java:17) 
03-10 18:02:46.352: E/AndroidRuntime(542): at com.example.BusTracker.PlacesActivity.onCreate(PlacesActivity.java:17) 
03-10 18:02:46.352: E/AndroidRuntime(542): at com.example.BusTracker.PlacesActivity.onCreate(PlacesActivity.java:17) 
03-10 18:02:46.352: E/AndroidRuntime(542): at com.example.BusTracker.PlacesActivity.onCreate(PlacesActivity.java:17) 
03-10 18:02:46.352: E/AndroidRuntime(542): at com.example.BusTracker.PlacesActivity.onCreate(PlacesActivity.java:17) 
03-10 18:02:46.352: E/AndroidRuntime(542): at com.example.BusTracker.PlacesActivity.onCreate(PlacesActivity.java:17) 
03-10 18:02:46.352: E/AndroidRuntime(542): at com.example.BusTracker.PlacesActivity.onCreate(PlacesActivity.java:17) 
03-10 18:02:46.352: E/AndroidRuntime(542): at com.example.BusTracker.PlacesActivity.onCreate(PlacesActivity.java:17) 
03-10 18:02:46.352: E/AndroidRuntime(542): at com.example.BusTracker.PlacesActivity.onCreate(PlacesActivity.java:17) 
+1

如果您发布一些代码,它会有所帮助... – fbernardo 2012-03-11 02:24:35

+0

除了发布代码之外,您可能还会包含实际的异常,它显示调用堆栈在发生时的情况 - 此处可能与此高度相关。 – mah 2012-03-11 02:34:29

回答

3

你不应该叫this.onCreate(onSavedInstanceState);,但super.onCreate(onSavedInstanceState);否则,你正处于调用cre的无穷递归中吃了,然后你得到了STackOverflow。

+0

感谢您的及时帮助! – user1261376 2012-03-11 02:52:04

相关问题