2014-03-06 68 views
0

我有一個問題,我無法理解如何解決。如何將ListView項目複製到第二個ListView活動

例子:

我有一個名爲地圖列表視圖:

1 My Maps 
2 France map 
3 Germany map 
4 Italy map 

我的地圖指向包含下載的地圖列表查看活動。

法國地圖,德國地圖和意大利地圖,如果點擊,開始地圖文件下載,或者,如果地圖文件已經下載,它會打開相對地圖。

什麼,我需要了解的是如何在下載後複製,列表視圖項裏面我的地圖活動

例子:

下載之前:

1 My Maps ------> no maps 
2 France map 
3 Germany map 
4 Italy map 

下載法國的後地圖文件:

1 My Maps ------> France map -------> open France map 
2 France map ------- > open France map 
3 Germany map 
4 Italy map 

我必須用什麼方法獲取在這個結果?

謝謝

這也是迄今爲止該項目:

MainActivity.java

import android.os.Bundle; 
    import android.app.Activity; 
    import android.content.Intent; 
    import android.view.View; 
    import android.widget.AdapterView; 
    import android.widget.AdapterView.OnItemClickListener; 
    import android.widget.ListView; 

    public class MainActivity extends Activity implements OnItemClickListener{ 

    ListView listView; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    listView = (ListView) findViewById(R.id.mapsList); 
    listView.setOnItemClickListener(this); 

    } 


    @Override 
    public void onItemClick(AdapterView<?> adapter, View view, int position, long id) { 
     switch (position){ 
     case 0:{ 
      Intent Info = new Intent(MainActivity.this, MyMapsActivity.class); 
     startActivity(Info); 
      } 
      break; 
      case 1:{ 
      // do something 
      } 
      break; 
      } 

     } 

    } 

activity_main.xml中

<?xml version='1.0' encoding='utf-8'?> 
    <LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' 
     android:layout_width='fill_parent' 
     android:layout_height='fill_parent' 
     android:orientation='vertical' > 

     <ListView 
     android:id="@+id/mapsList" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:entries="@array/maps_array" 
     /> 
    </LinearLayout> 

MyMapsActivity.java

import android.app.ListActivity; 
    import android.os.Bundle; 
    import android.view.Menu; 



    public class MyMapsActivity extends ListActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mymaps); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    } 

的strings.xml

<?xml version="1.0" encoding="utf-8"?> 
     <resources> 

      <string name="app_name">Maps</string> 
      <string name="action_settings">Settings</string> 

      <string-array name="maps_array"> 
       <item>MyMaps</item> 
       <item>France</item> 
       <item>Germany</item> 
       <item>Italy</item> 
       <item>New York</item> 
       <item>Hamburg</item> 
       <item>Berlin</item> 
      </string-array> 

    </resources> 

回答

0

我的地圖,點擊時,應該啓動一個新的活動(我們稱之爲MyMapsActivity)。 MyMapsActivity將延伸ListActivity,就像您目前的活動正在做的一樣。你需要一個數組(或其他),這些數據是你存儲在設備上的地圖,但是隻需按照你在第一項活動中做的那樣調整它們,然後在onListItemClick中將用戶帶到活動中包含已下載的特定地圖。

除非我誤解了你的問題,否則你應該能夠在第一次活動中爲新的MyMapsActivity重複你已經在做的事情。

相關問題