что я пытаюсь сделать ::

  • Я пытаюсь передать коллекцию из одного действия в другое и отобразить полученную коллекцию в журнале
  • Я знаю, что этого можно достичь с помощью намерений, поэтому я использую их

Что я не умею :

  • Как получить hashmap в Screen1.java отобразить его в журнале

MainActivity.java

public class MainActivity extends Activity implements OnClickListener{

    HashMap<String, String> objColl;
    Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        objColl=new HashMap<String, String>();
        objColl.put("1", "USA");
        objColl.put("2", "Canada");
        objColl.put("3", "Africa");
        objColl.put("4", "England");

        btn=(Button) findViewById(R.id.button1);

        btn.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        switch(v.getId())
        {
        case R.id.button1:
            Intent intent=new Intent(MainActivity.this,Screen1.class);
            intent.putExtra("key1", objColl);
            startActivity(intent);
            break;
        }   
    }
}

Screen1.java

public class Screen1 extends Activity {

    HashMap<String, String> objColl;
    TextView txtVw;
    String res;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        txtVw=(TextView) findViewById(R.id.textView1);
    }

    @Override
    protected void onStart() {
        // TODO Auto-generated method stub
        super.onStart();

    }
}

Журнал ::

0
Devrath 11 Апр 2014 в 09:58

3 ответа

Лучший ответ

Действия отправителя:

HashMap<String, String> hashMap= ....
Intent intent = new Intent(SourceActivity.this, DestinationActivity.class);
intent.putExtra("hashMap", hashMap);
startActivity(intent);

Действия получателя:

Intent intent = getIntent();    
HashMap<String, String> hashMap = (HashMap<String, String>) intent.getSerializableExtra("hashMap");
3
Kanaiya Katarmal 11 Апр 2014 в 06:00

Получите дополнения, необходимые для использования Bundle

Intent mIntent = getIntent();
        if(mIntent != null){
            Bundle mBudle = mIntent.getExtras();
            HashMap<String, String> mMap = (HashMap<String, String>) mBudle.get("key1");
        }
1
Yuvaraja 11 Апр 2014 в 06:15

Передать сбор в намерение с помощью bundle-

Bundle extras = new Bundle();
extras.putSerializable("HashMap",Hash_Map);
intent.putExtras(extras);

И в другой деятельности-

Bundle bundle = this.getIntent().getExtras();
 if(bundle!=null){
   Hash_Map= bundle.getSerializable("HashMap");
0
yuva ツ 11 Апр 2014 в 06:28