2016-09-27 6 views
0

У меня возникла проблема с восстановлением данных MainActivity из Activity2.Деятельность - Intent отправил информацию на MainActivity

деятельности2 имеет следующий код:

public class Activity2 extends Activity { 

    Button btnAcepta, btnCancela; 

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

     //Listener del botó Acepta 
     btnAcepta = (Button) findViewById(R.id.btnAcepta); 

     btnAcepta.setOnClickListener(

       new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 

         // Recuperem info dels spinner 

         Spinner spiCicle=(Spinner) findViewById(R.id.spiCicle); 
         String txtSpiCicle = spiCicle.getSelectedItem().toString(); 

         Spinner spiCurs=(Spinner) findViewById(R.id.spiCurs); 
         String txtSpiCurs = spiCurs.getSelectedItem().toString(); 

         //Omplim un "intent" amb les dades a passar a l'altre activitat 
         Intent i = new Intent(this, MainActivity.class); 

         //Creem un "bundle" per afegir dades extra a l'"intent" 
         Bundle extras = new Bundle(); 

         // Afegim Cicle i Curs 

         extras.putString("Cicle", txtSpiCicle); 
         extras.putString("Curs", txtSpiCurs); 
         //extras.putInt("Opcio",) 

         // Afegim bundle amb la info a l'intent 
         i.putExtras(extras); 

         //Cridem l'activitat 
         startActivity(i); 

         finish(); 

        } 
       } 
     ); 

Ап IDE показывает и сообщение об ошибке, в строке:

Intent i = new Intent(this, MainActivity.class); 

Я не понимаю, потому что я хочу, чтобы отправить данные в MainActivity.

Пожалуйста, помогите мне?

Спасибо.

+1

Возможная дубликата [Начиная с намерением onclicklistener] (http://stackoverflow.com/questions/19464100/starting-intent-from-onclicklistener) – Enrico

+0

Это скорее базовое знание java, чем намерение – Mike76

ответ

1

Вы должны передать надлежащее context в намерении i, так как this относится к анонимному классу для вас, чтобы прослушать прослушиватель. Измените следующую строку:

Intent i = new Intent(this, MainActivity.class); 

к этому:

Intent i = new Intent(Activity2.this, MainActivity.class); 
+0

Вы правы, спасибо! – ruzD

+0

Это правильно, но теперь в основном действии я не могу восстановить информацию о намерениях. Есть идеи? – ruzD

+0

как вы получаете информацию там? – Shaishav

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