2016-02-17 5 views
0

У меня есть эта деятельность, которая называется MainPutShipActivity, и я хочу запустить ее снова, чтобы она делала то же самое, но она даже не вводит метод OnCreate.Начальная деятельность от себя пропускает OnCreate

вот MainPutShipActivity:

public class MainPutShipActivity extends Activity implements OnClickListener{ 

private static final int MAX = 10; 
private String name1,name2; 
private Player plr = new Player(); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main_put_ship); 

    Intent intent = getIntent(); 

    plr = (Player) intent.getSerializableExtra("player"); 
    name1 = plr.getName1(); 
    name2 = plr.getName2(); 

} 

public void finished() { 
    Intent in; 
     } 
    if (plr.isTreated() == false) { 
     plr.setArr1(arr); 
     plr.setShip1(ships); 
     this.finish(); 
     in = new Intent(this,MainPutShipActivity.class); 
     in.putExtra("player", this.plr); 
    } 
    else { 
     plr.setArr2(arr); 
     plr.setShip2(ships); 
     in = new Intent(this, MainGameActivity.class); 
     in.putExtra("player", this.plr); 
    } 
    plr.setTreated(true); 
    this.finish(); 
    startActivity(in); 
} 

Когда я войти в finished() процедуру впервые предположить, чтобы начать MainPutShipActivity снова, но когда он начинает свою деятельность, она пропускает OnCreate и идет прямо к законченным() по какой-либо причине.

Я был бы очень рад за любую помощь.

+0

Возможный дубликат [Как отправить объект за m one Android Activity to another using Intents?] (http://stackoverflow.com/questions/2139134/how-to-send-an-object-from-one-android-activity-to-another-using-intents) – Tophandour

+0

отправьте свой второй код активности. – Ritesh

+0

Возможно, вы можете использовать послы, пожалуйста, проверьте эту ссылку http://androcode.es/2012/12/trabajando-con-parcelables/ –

ответ

2

Обратите внимание на ключ передается в намерении

Вместо:

plr = (Player) i.getSerializableExtra("plr"); 

набор

plr = (Player) i.getSerializableExtra("player"); 

, потому что вы настраиваете

in.putExtra("player", this.plr); 
+0

Это все еще не работает. Я считаю, что он даже не доходит до этой точки и не сработает в процедуре 'finished()', хотя я не вижу, в чем проблема. – user5630640

+0

Что такое ловушка аварии? Проверьте, не является ли ваш plr нулевым. – Chol

+0

Что такое строка 44? Я не уверен в i = getItent(); вне onCreate – Chol

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