2016-09-27 94 views
0

我有一个问题,从活动2恢复MainActivity的数据。活动 - 意图发送信息到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

由于this引用了您单击侦听器的匿名类,因此您需要在意图i中传递正确的context。更改以下行:

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

这样:

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

You right,thanks! – ruzD

+0

这是正确的,但现在在主要活动中,我无法恢复意向信息。任何想法? – ruzD

+0

你怎么得到那里的信息? – Shaishav