荫使用夏洛克片段做出行动吧。而我的ListView在行动吧,但我将我的列表视图可以拨打活动。请帮我谢谢..:)
在此code在使用数组列表,列表视图。我想MYLIST可以调用同样的活动。
因此,它可以像操作栏菜单。当我们短声的ListView ..he可拨打活动 谢谢..请帮助我!
包iqbal.apps.visitkuningan;
进口的java.util.ArrayList;
进口的java.util.HashMap;
进口的java.util.List;
进口android.os.Bundle;
进口android.view.LayoutInflater;
进口android.view.View;
进口android.view.ViewGroup;
进口android.widget.SimpleAdapter;
进口com.actionbarsherlock.app.SherlockListFragment;
公共类AppleFragment扩展SherlockListFragment {
/ **项目的数组显示* /
字符串apple_versions [] =新的String [] {
美洲狮,
狮子,
雪豹,
豹,
虎,
豹
};
/ **图像阵列显示* /
INT apple_images [] =新的INT [] {
R.drawable.mountainlion,
R.drawable.lion,
R.drawable.snowleopard,
R.drawable.leopard,
R.drawable.tiger,
R.drawable.panther
};
@覆盖
公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,捆绑savedInstanceState){
//在列表存储国名中的每一行,货币和标志
名单< HashMap的<字符串,字符串>> ALIST =新的ArrayList< HashMap的<字符串,字符串>>();
的for(int i = 0;我小于5;我++){
HashMap的<字符串,字符串> HM =新的HashMap<字符串,字符串>();
hm.put(TXT,apple_versions [I]);
hm.put(IMG,Integer.toString(apple_images [I]));
aList.add(HM);
}
//在哈希映射使用的键
的String []从= {IMG,TXT};
// ID的意见listview_layout
INT []到= {R.id.img,R.id.txt};
//实例化一个适配器来存储每个项目
// R.layout.listview_layout定义每个项目的布局
SimpleAdapter适配器=新SimpleAdapter(getActivity()getBaseContext(),ALIST,R.layout.listview_layout,从到。);
//适配器设置到ListView
setListAdapter(适配器);
返回super.onCreateView(充气,容器,savedInstanceState);
}
}
解决方案
您需要在您的列表视图使用setOnItemClickListener()
listview.setOnItemClickListener(新OnItemClickListener(){
@覆盖
公共无效onItemClick(适配器视图<>为arg0,查看ARG1,INT位置,长ARG3){
意图N = NULL;
开关(位置){
情况下0:
N =新的意向书(getActivity(),Class0.class);
打破;
情况1:
N =新的意向书(getActivity(),Class1.class);
打破;
}
如果(NULL!= N)
startActivity(N);
}
});
Iam using Sherlock fragment to make a Action Bar. and I have ListView in action bar, but I will my listview can call activity .. Please help me Thanks.. :)
in this code have a listview using array list . and i want to mylist can call same activity.
So it can Like menu in action bar. and when we clik listview ..he can call activity thank.. please help me !
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<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);
// Setting the adapter to the listView
setListAdapter(adapter);
return super.onCreateView(inflater, container, savedInstanceState);
}
}
解决方案
You need to use setOnItemClickListener() on your listview
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);
}
});