2012-03-11 5 views
0

Я пытаюсь разработать небольшое приложение BusTracker, которое будет перечислять список автобусов, когда вы укажете места и из них. У меня есть кнопка, которая при щелчке вызовет другую активность (которая является listactivity), которая покажет список мест. Я выбираю один, и место будет сохранено, а текстовое поле в firstActivity заселяется этим. Я получаю stackOverFlowerror в методе oncreate второго действия. может ли кто-нибудь дать мне возможную причину этого?Получение 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

+0

В дополнение к отправке кода вы можете включить фактическое исключение, которое показывает стек вызовов в момент его возникновения - что-то, что может быть очень важно здесь. – mah

ответ

3

Вы не должны вызывать this.onCreate(onSavedInstanceState);, но super.onCreate(onSavedInstanceState); в противном случае вы находитесь в бесконечной рекурсии вызова на cre а затем вы получите STackOverflow.

+0

спасибо за своевременную помощь! – user1261376

Смежные вопросы