如何使用ListView数组调用Activity

我使用Sherlock片段制作动作栏。 我在列表视图中有ListView,但我的listview可以调用活动..请帮助我谢谢.. 🙂

在此代码中有一个使用数组列表的列表视图。 我想要mylist可以调用相同的活动。

所以它可以像动作栏中的菜单一样。 当我们clik listview ..他可以致电活动谢谢..请帮助我!

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.SimpleAdapter; 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> aList = new ArrayList<HashMap>(); for(int i=0;i<5;i++){ HashMap hm = new HashMap(); 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); // Setting the adapter to the listView setListAdapter(adapter); return super.onCreateView(inflater, container, savedInstanceState); } } 

您需要在listview上使用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); } }); 

ActionBar中的列表导航不需要ListFragment(或您的案例中的SherlockListFragment)。 您的代码正在为ListView设置适配器,该适配器是Activity的内容 。 你想要的是设置ActionBar的导航模式并提供适配器到ActionBar。 在你的onCreate:

 ActionBar actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); actionBar.setListNavigationCallbacks(adapter, navigationListener); 

adapterSpinnerAdapter实现。 navigationListener是一个ActionBar.OnNavigationListener实现。 当用户从ActionBar的下拉列表中按下某个项目时,您的navigationListener的onNavigationItemSelected方法将被调用,并传递所选项目的位置和ID。 在该回调中,您可以实现启动另一个活动。

请参阅ActionBar和ActionBar.OnNavigationListener – ActionBarSherlock镜像标准的Android ActionBar API。