0

私は本当にこの問題に悩まされており、助けていただければ幸いです。

まず、単純なハッシュマップを含むサービスを実行しています

ORIG_MSG_MAP は、整数、文字列のキーと値のペアを持つハッシュマップです。サービスには、ハッシュマップの内容をセットで返すメソッドがあります

//get entries in the hash 
public Set<Entry<String, Integer>> getNumbers() {
    // TODO Auto-generated method stub

    return ORIG_MSG_MAP.entrySet();


}

私のアクティビティでは、サービスとやり取りしてから、SETではなくハッシュマップを操作する必要があるcustomAdapterでコンストラクターを呼び出します

アクティビティ

      /** Defines callbacks for service binding, passed to bindService() */
private ServiceConnection mConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className, IBinder service) {
// We've bound to LocalService, cast the IBinder and get LocalService instance
LocalBinder binder = (LocalBinder) service;
mService = binder.getService();
mBound = true;
Set<Entry<String, Integer>> whatsup = mService.getNumbers();

----> 疑問符は、キーと値のペアを含むハッシュへの参照である必要があります <---- setListAdapter(new MyCustomAdapter(DynamicLists.this, R.layout.row, ???));

ハッシュを期待する MyCustomAdapter のコンストラクター

public MyCustomAdapter(DynamicLists dynamicLists, int row, HashMap<String, Integer> map){ 
mData = map;
mKeys = mData.keySet().toArray(new String[map.size()]);
Log.d(TAG, "INSIDE ADAPTER constructor HELLO WORLD " + map.entrySet()); 

}

セットをハッシュに戻すのを手伝ってくれませんか

ありがとう、

グラハム

4

1 に答える 1

1

試してみてください:

Set<Entry<String, Integer>> yourSet;
HashMap<String,Integer> yourMap = new HashMap<String,Integer>();
for (Entry<String,Integer> entry : yourSet) {
    yourMap.put(entry.getKey(),entry.getValue());
}

実際、セットの各エントリを新しい HashMap に追加するだけです

于 2012-04-20T12:38:39.740 に答える