導航:首頁 > 操作系統 > androidbundle傳遞list

androidbundle傳遞list

發布時間:2022-08-09 02:25:43

A. android中如何在兩界面間傳遞下面的集合

intent啊 intent是android的運輸大隊長

Intent newIntent = new Intent();
newIntent.setClass(this, another.class);
List<Map<String, Object>> listData = new ArrayList<Map<String, Object>>();

Bundle bundle = new Bundle();
bundle.putSerializable(」data「, listData );
newIntent.putExtras(bundle);
startActivityForResult(newIntent, 0);

在another類中的oncreate()方法取
List<Map<String, Object>> listData = new ArrayList<Map<String, Object>>();

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
List<Map<String, Object>> listData= (List) bundle.getSerializable(」data「);
}
大概是這個樣子,祝你順利

B. android 如何將listview的每個item中的值傳到另一個Activity中

你可以把從伺服器中獲取的數據封裝到一個類中間中,然後通過Parcelable打包一下。。。。。
再把封裝的類裝到一個ArrayList中
在通過Intent 和bundle把你打包的ArrayList傳過去。。。。你在另一個Activity中接受就ok了
我曾經在做一個音樂播放器的時候就是把listview中就是這樣把音樂信息都傳過去
傳值:Intent intent ;
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("musics",musics<是指的那個ArrayList名字>);
intent = new Intent(this, 另外的Activity名字.class);

接受值:另外一個Activity中
Intent myintent = getIntent();
Bundle bundle = myintent.getExtras();
ArrayList<封裝類名> musics = bundle.getParcelableArrayList("music");

這是我個人的解決方法,不知道能不能幫到你。。。。。。

C. android 怎麼取list數據

按以下代碼可獲取到list數據:
package com.example.sdtg.sdsw;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;

import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class ListActivity extends Activity {

// 命名空間
// String nameSpace = "http://tempuri.org/";
// 調用的方法名稱
// String methodName = "GetSjSearch";
// EndPoint
// String endPoint = "http://192.168.0.145/webservice2/gswebservice.asmx";
// SOAP Action
// String soapAction = "http://tempuri.org/GetSjSearch";
// List<Map<String, Object>> mList;
ListView ListV;

HashMap<String, Object> map = new HashMap<String, Object>();
private List<Map<String,String>> listItems;
SimpleAdapter mListAdapter;
String name="";
String addr="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);

listItems = new ArrayList<Map<String,String>>();
ListV=(ListView)findViewById(R.id.ListView01);
Handler indicate = new Handler();
//獲取主頁面傳的值
final Intent data = getIntent();
name=data.getStringExtra("Name");
addr=data.getStringExtra("Addr");
new NetAsyncTask().execute();

ListV.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//獲得選中項的HashMap對象
TextView viewtmc = (TextView) arg1.findViewById(R.id.textListmc);
TextView viewdz = (TextView) arg1.findViewById(R.id.textlistdz);
TextView viewid = (TextView) arg1.findViewById(R.id.textlistid);
//String playerChanged = c.getText().toString();
Bundle bundle = new Bundle();
bundle.putString("Name", viewtmc.getText().toString());
bundle.putString("Addr", viewdz.getText().toString());
bundle.putString("ID", viewid.getText().toString());
final Intent data = getIntent();
data.putExtras(bundle);
//跳轉回MainActivity
//注意下面的RESULT_OK常量要與回傳接收的Activity中onActivityResult()方法一致
ListActivity.this.setResult(RESULT_OK, data);
//關閉當前activity
ListActivity.this.finish();
}

});

};

class NetAsyncTask extends AsyncTask<Object, Object, String> {

@Override
protected void onPostExecute(String result) {
if (result.equals("success")) {

mListAdapter = null;
mListAdapter = new SimpleAdapter(ListActivity.this, listItems, R.layout.item,new String[]{"title", "info", "img"}, new int[]{R.id.textListmc, R.id.textlistdz, R.id.textlistid});
ListV.setAdapter(mListAdapter);
}
super.onPostExecute(result);
}

@Override
protected String doInBackground(Object... params) {
// 命名空間
String nameSpace = "http://tempuri.org/";
// 調用的方法名稱
String methodName = "GetSjSearch";
// EndPoint
String endPoint = "http://192.168.0.145/webservice2/gswebservice.asmx";
// SOAP Action
String soapAction = "http://tempuri.org/GetSjSearch";

// 指定WebService的命名空間和調用的方法名
SoapObject rpc = new SoapObject(nameSpace, methodName);

// 設置需調用WebService介面需要傳入的兩個參數mobileCode、userId
rpc.addProperty("name", name);
rpc.addProperty("address", addr);

// 生成調用WebService方法的SOAP請求信息,並指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
// SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);

envelope.bodyOut = rpc;
// 設置是否調用的是dotNet開發的WebService
envelope.dotNet = true;
// 等價於envelope.bodyOut = rpc;
envelope.setOutputSoapObject(rpc);

HttpTransportSE transport = new HttpTransportSE(endPoint);
try {
// 調用WebService
transport.call(soapAction, envelope);
} catch (Exception e) {
e.printStackTrace();
}

SoapObject object;
// 開始調用遠程方法
try {
object = (SoapObject) envelope.getResponse();
int count = object.getPropertyCount();
// 得到伺服器傳回的數據
int count1 = object.getPropertyCount();
if(count1>0)
{
for (int i = 0; i < count1; i++) {
Map<String,String> listItem = new HashMap<String, String>();
SoapObject soapProvince = (SoapObject)object.getProperty(i);
listItem.put("title", soapProvince.getProperty("DJXX_NSRMC").toString());
listItem.put("info", soapProvince.getProperty("DJXX_ZCDJ").toString());
//listItem.put("img", soapProvince.getProperty("DJXX_NSRSBH").toString());
listItems.add(listItem);
}}
} catch (IOException e) {
e.printStackTrace();
//return "IOException";
}
return "success";
}
}

}

D. android 怎麼在activity之間傳遞List 類型的數據

Intent 傳值可以傳遞對象,但是比較麻煩,要序列化

給你一種建議,將這個List轉成JSON字元串

另外一個Activity再將這個字元串返序列即可

JSON與java對象相互轉換google提供了一個非常牛X的工具Gson

用法非常簡單,一行代碼搞定


E. 請問下, Intent傳輸數據的時候 如何能傳輸List<Object> 裡面是個對象

先把List對象加到Bundle里去,在傳遞Bundle對象

F. 如何用bundle傳遞arraylist<overlayitem>的數組

例子

在用多線程的時候,會需要在Message中傳遞自己定義的Arraylist

但是呢,Messge的數據傳遞必須要用Bundle

所以需要將自定義的ArrayList<Object>放入Bundle

解決方法是用Bundle.putParcelableArrayList(list)

當然不能直接把list放入bundle中,必須經過加工

方法如下:

Message msg = new Message();

Bundle bundle = new Bundle();

ArrayList list = new ArrayList(); //這個list用於在budnle中傳遞 需要傳遞的ArrayList<Object>

list.add(ArrayList<Object>)

bundle.putParcelableArrayList("list",list)

msg.setDate(bundle)
Handler.sendMessage(msg)

取的時候:
ArrayList list = bundle.getParcelableArrayList("list");
list2= (List<Object>) list.get(0);//強轉成你自己定義的list,這樣list2就是你傳過來的那個list了。

G. android bundle可以傳遞arraylist嗎

可以的

H. android ArrayList在activity之間傳值的問題

如果list_s是List的引用,那麼你需要強轉;如果list_s是ArrayList,那麼不用強轉。

如果你看Android代碼的話 會發現ArrayList是這么定義的:
public class ArrayList<E> extends AbstractList<E> implements Cloneable, Serializable, RandomAccess {

他跟List(介面)不同。。

I. android Parcelable如何傳遞boolean 與List<E>類型的變數

想傳遞boolean比較簡單,可以用Bundle直接putBoolean
對於List類型,需要E是繼承了parcelable介面
並且List實際類型要是ArrayList才可以.
調用putParcelableArrayList(String key, ArrayList<? extends Parcelable> list);
關於繼承Parcelable介面
需要完成以下內容:
1,聲明該類class MyParcelable implements Parcelable;
2,創建Parcelable.Creator<MyParcelable> CREATOR = new Parcelable.Creator<MyParcelable>()
{
需要實現
public MyParcelable createFromParcel(Parcel source)
{
//例如MyParcelable有String name;
MyParcelable p = new MyParcelable();
p.name = source.readString();

//所有成員都要處理.

}
public MyParcelable[] newArray(int size)

{

return new MyParcelable[size];//這樣就可以了
}

}

J. Android Activity間傳二維數組問題

1樓說的很對,在另一個Activity接收,我再補充一下,
String[] strArray = getIntent().getSerializableExtra("intArray")
也可以用這種方式傳遞對象、map集合等,傳遞對象的實體類要實現系列化。接受就用上面的方法,傳過來的是什麼對象,就強轉一下就好了。

閱讀全文

與androidbundle傳遞list相關的資料

熱點內容
android檢查是否安裝 瀏覽:371
蘋果手機編輯pdf文件 瀏覽:454
android系統名字 瀏覽:963
安卓手機如何進去有求必應屋 瀏覽:432
指數除法運演算法則底數不同 瀏覽:894
90壓縮干糧09壓縮干糧 瀏覽:516
android線程池框架 瀏覽:481
手機自帶解壓能解壓哪些文件 瀏覽:804
linux安裝hba驅動 瀏覽:119
java構造函數new 瀏覽:668
怎麼查家裡電器耗電量app 瀏覽:506
原神一直顯示重新連接伺服器怎麼辦 瀏覽:826
一般用途軸流式壓縮機 瀏覽:926
沒學歷的怎麼學編程 瀏覽:901
華為的隱藏相冊無法加密 瀏覽:782
聯通套餐app怎麼設置 瀏覽:752
關於刪除鏈表的演算法描述 瀏覽:894
標准盤和壓縮盤的區別 瀏覽:47
銀行存款驗證碼JAVA編程 瀏覽:111
word轉pdf軟體免費版 瀏覽:139