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中打印點擊的項目位置的日誌 –