簡體   English   中英

將HashMap從一個活動傳遞到另一個活動,android

[英]passing a HashMap from one activity to another, android

我正在編寫一個Android應用程序來顯示附近的位置。 然后我存儲在這樣的hashmap列表中

List<HashMap<String, String>> places = null;

在第一個活動中,我在地圖上顯示了位置,我想將它們傳遞給另一個活動,然后列在listView中。

在第一個活動中,我有一個按鈕,可以將我引導到列表活動,如下所示:

public void list_airports(View v)
        {
            Intent intent;
            switch (v.getId()) {

            case R.id.list_items:
                intent = new Intent(getApplicationContext(), List_airports.class);
                intent.putExtra("places",places);
                startActivity(intent);
                break;

            }
            }

在下一個活動中我做了這個:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_airports);
        Bundle extras = getIntent().getExtras();
        String[] places=extras.getStringArray(Intent.EXTRA_TEXT);

但方法putExtra不接受List<HashMap<String, String>>

使用intent.putExtra(String,Serializable)-請參閱http://developer.android.com/reference/android/content/Intent.html#putExtra%28java.lang.String,%20java.io.Serializable%29

intent.putExtra("placesHashMap", places)

在接收活動中使用

HashMap<String, String> places = (HashMap<String, String>) intent.getSerializableExtra("placesHashMap");

使用putExtra(String, Serializable)在Intent中傳遞它,並使用getSerializableExtra(String)方法來檢索它。

另外,使用ArrayList而不是List

什么是Serializable

可序列化的當前課程截圖

1.將意圖從上下文類傳遞給新類

 HashMap<String, String> hashMap= adapter.getItem(position); Intent intent = new Intent(OneActivity.this, SecondActivity.class); intent.putExtra("key", value); startActivity(intent); 

2.將哈希映射傳遞給其他類

Bundle b=getIntent.getExtra();
 if(b!=null)
   {
     yourhasmaplist=b.getSerializableExtra("key"); 
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM