0
首先对不起我的英语不好,我是新到Android我的列表视图onitemclickListner是行不通的任何一个,请帮助我是我做错了,请帮我解决这个OnItemClikListner不在列表视图工作
java类
public class Shoping extends Fragment{
private GridviewAdapter mAdapter;
private ArrayList<String> listCountry;
private ArrayList<Integer> listFlag;
private ListView listview;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.shoping_fragment, container, false);
prepareList();
mAdapter = new GridviewAdapter(getActivity(), listCountry, listFlag);
//Missed code to here
listview = (ListView)rootView. findViewById(R.id.card_listView);
listview.setAdapter(mAdapter);
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
switch(position){
case 0:
Intent one=new Intent(getActivity(),Flipkart.class);
startActivity(one);
break;
case 1:
Intent two=new Intent(getActivity(),Amazon.class);
startActivity(two);
break;
case 2:
Intent three=new Intent(getActivity(),Snapdeal.class);
startActivity(three);
break;
case 3:
Intent four=new Intent(getActivity(),Shopclues.class);
startActivity(four);
break;
}
}
});
return rootView;
}
public void prepareList()
{
listCountry = new ArrayList<String>();
listCountry.add("123Telugu.com");
listCountry.add("GreatAndhra.com");
listCountry.add("Tupaki.com");
listCountry.add("A1Telugu.com");
listFlag = new ArrayList<Integer>();
listFlag.add(R.drawable.flipkart);
listFlag.add(R.drawable.flipkart);
listFlag.add(R.drawable.flipkart);
listFlag.add(R.drawable.flipkart);
}
这里我下面的XML布局
我的XML
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#e2e4fe">
<ListView
android:id="@+id/card_listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginLeft="6dp"
android:layout_marginRight="6dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:listSelector="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
android:divider="@null"
android:dividerHeight="5dp" />
GridAdapter
public class GridviewAdapter extends BaseAdapter{
private ArrayList<String> listCountry;
private ArrayList<Integer> listFlag;
private LayoutInflater inflater;
private static Context mcontext;
public GridviewAdapter(Context context,ArrayList<String> listCountry, ArrayList<Integer> listFlag) {
super();
this.listCountry = listCountry;
this.listFlag = listFlag;
this.mcontext = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return listCountry.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return listCountry.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
public static class ViewHolder
{
public ImageView imgViewFlag;
public TextView txtViewTitle;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder view;
if(convertView==null)
{
inflater = (LayoutInflater)mcontext.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
view = new ViewHolder();
convertView = inflater.inflate(R.layout.fragment_layout_design, null);
view.txtViewTitle = (TextView) convertView.findViewById(R.id.tv_nature);
view.imgViewFlag = (ImageView) convertView.findViewById(R.id.img_thumbnail);
convertView.setTag(view);
}
else
{
view = (ViewHolder) convertView.getTag();
}
view.txtViewTitle.setText(listCountry.get(position));
view.imgViewFlag.setImageResource(listFlag.get(position));
return convertView;
}
}
你会得到任何错误? –
不,但onclick不工作@ bhargav thanki –
尝试在logcat中打印点击的项目位置的日志 –