2013-03-16 19 views
0

Iam使用Sherlock片段創建一個Action Bar。我有ListView的行動吧,但我會我的列表視圖可以調用活動..請幫助我謝謝.. :)如何使用ListView調用活動

在這段代碼有一個listview使用數組列表。我想要mylist可以調用相同的活動。

所以它可以像操作欄中的菜單。當我們clik listview ..他可以打電話給活動 謝謝..請幫助我!

請糾正我的代碼..how調用活動,在列表視圖每個選項..感謝..

AppleFragment.java

package iqbal.apps.visitkuningan; 

import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.List; 

import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.ListView; 
import android.widget.SimpleAdapter; 
import android.widget.AdapterView.OnItemClickListener; 

import com.actionbarsherlock.app.SherlockListFragment; 

public class AppleFragment extends SherlockListFragment{ 

    /** An array of items to display*/ 
    String apple_versions[] = new String[]{ 
      "Mountain Lion", 
      "Lion", 
      "Snow Leopard", 
      "Leopard", 
      "Tiger", 
      "Panther" 
    }; 

    /** An array of images to display*/ 
    int apple_images[] = new int[]{ 
      R.drawable.mountainlion, 
      R.drawable.lion, 
      R.drawable.snowleopard, 
      R.drawable.leopard, 
      R.drawable.tiger, 
      R.drawable.panther 
    }; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ 

     // Each row in the list stores country name, currency and flag 
     List<HashMap<String,String>> aList = new ArrayList<HashMap<String,String>>(); 

     for(int i=0;i<5;i++){ 
       HashMap<String, String> hm = new HashMap<String,String>(); 
      hm.put("txt", apple_versions[i]); 
      hm.put("img", Integer.toString(apple_images[i] )); 
      aList.add(hm); 
     } 

     // Keys used in Hashmap 
     String[] from = { "img","txt" }; 

     // Ids of views in listview_layout 
     int[] to = { R.id.img,R.id.txt}; 

     // Instantiating an adapter to store each items 
     // R.layout.listview_layout defines the layout of each item 
     SimpleAdapter adapter = new SimpleAdapter(getActivity().getBaseContext(), aList, R.layout.listview_layout, from, to); 

    // Getting a reference to listview of main.xml layout file 
     ListView listview = AppleFragment.this.getListView(); 

     listview.setAdapter(adapter); 

     // Setting the adapter to the listView 
     listview.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, 
            View view, int position,long id) { 
       // ?? please add code in here to call activity from each option in listview.. T_T or correct my code 

       } 

      }); 
     return super.onCreateView(inflater, container, savedInstanceState); 
    } 
} 
+1

目前還不清楚是什麼(如果有的話)正在這裏問。此外,「請更正我的代碼」與StackOverflow不太匹配。 – Michael 2013-03-16 08:46:53

回答

0

編輯setOnItemClickListener並插入其檢查的位置的情況該項目和開始和活動取決於點擊項目。

應該是這個樣子

listview.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> arg0,View arg1, int position, long arg3) { 
     Intent n = null; 
     switch (position){ 
     case 0: 
      n = new Intent(getActivity(), Class0.class); 
      break; 
     case 1: 
      n = new Intent(getActivity(), Class1.class); 
      break; 
     } 
     if(null!=n) 
      startActivity(n); 
    } 
}); 
+0

我一直試試這個,但仍然錯誤,你可以給我另一個..? – 2013-03-16 09:15:26

+0

@JamaludinIqba你沒有得到Stackoverflow的工作方式。 「給我另一個」,直到我發現有效的東西不是它。 – Simon 2013-03-16 09:18:06

+0

你必須提供更多的信息,你得到什麼樣的錯誤?您的代碼中可能有其他錯誤。 – Reda 2013-03-16 09:28:49