I use gridview inside Listview, but I have a focal problem.
I set the width of the gridview, but I'm filling in some gridview elements, in the left space of the gridview (which is empty) means that the elements do not fill the gridview in the listview. If I click on it, it wonβt click the listitem

As indicated in the image, I want to execute the list item by clicking if it is clicked anywhere on the list item. I want to get a click on the list .
But when I click on the ListView element, i.e. GridView , then clicking ListItem does not work ...
public class History extends Activity { String name, id, description, count, total; ArrayList<String> TAG_ID = new ArrayList<String>(); ArrayList<String> TAG_COFFEESHOP_NAME = new ArrayList<String>(); ArrayList<String> TAG_COUNT = new ArrayList<String>(); ArrayList<String> TAG_TOTAL = new ArrayList<String>(); Context context; JSONArray CoffeeUser = null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listlayout); ListView listView = (ListView) findViewById(R.id.listnew); listView.setAdapter(new MyCustomAdapter()); listView.setTextFilterEnabled(true); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> paramAnonymousAdapterView, View paramAnonymousView, int paramAnonymousInt, long paramAnonymousLong) { Intent intent = new Intent(); intent.putExtra("coffeeshopid", ((TextView)paramAnonymousView.findViewById(R.id.hlcoffeeshopid)).getText() ); intent.setClass(getParent(), Stamps.class); HistoryStack hisStack = (HistoryStack) getParent(); hisStack.push("Stamps", intent); } }); } class MyCustomAdapter extends BaseAdapter { Context ctx; public MyCustomAdapter() { // Creating JSON Parser instance JSONParser jParser = new JSONParser(); SharedPreferences prfs = getSharedPreferences("GUID_FILE_NAME", Context.MODE_PRIVATE); JSONObject json = jParser.methodhistory("http://api.com"); try { // Getting Array of Employee CoffeeUser = json.getJSONArray("CoffeeUser"); // Looping of List for (int i = 0; i < CoffeeUser.length(); i++) { JSONObject c = CoffeeUser.getJSONObject(i); // Storing each json item in variable id = c.getString("CS_Id"); name = c.getString("ShopName"); count = c.getString("totalstamps"); total = c.getString("threshholdcount"); // Adding all get values into array if (name != "null") { TAG_COFFEESHOP_NAME.add(name); TAG_ID.add(id); TAG_TOTAL.add(total); TAG_COUNT.add(count); } } } catch (JSONException e) { e.printStackTrace(); } } @Override public int getCount() { return TAG_COFFEESHOP_NAME.size(); } @Override public Object getItem(int paramInt) { return TAG_COFFEESHOP_NAME.get(paramInt); } @Override public long getItemId(int paramInt) { return paramInt; } public class MyCustomHolder { public GridView localGrid; public TextView CoffeeShopName,coffeeshopsdescription,coffeeshopid; } @Override public View getView(int paramInt, View paramView,ViewGroup paramViewGroup) { View localView = paramView; MyCustomHolder holder = null; if (localView == null) { LayoutInflater inflater = (LayoutInflater) History.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); localView = inflater.inflate(R.layout.historylist, null); holder = new MyCustomHolder(); holder.CoffeeShopName = (TextView) localView.findViewById(R.id.hlcoffeeshopname); holder.coffeeshopid = (TextView) localView.findViewById(R.id.hlcoffeeshopid); holder.localGrid = (GridView) localView.findViewById(R.id.gridViewdistorylist); localView.setTag(holder); } else { holder = (MyCustomHolder) localView.getTag(); } holder.CoffeeShopName.setText(TAG_COFFEESHOP_NAME.get(paramInt)); holder.coffeeshopid.setText(TAG_ID.get(paramInt)); holder.localGrid.setAdapter(new GridAdapterA(History.this, TAG_TOTAL.get(paramInt), TAG_COUNT.get(paramInt))); holder.localGrid.setFocusable(false); holder.localGrid.setFocusableInTouchMode(false); holder.CoffeeShopName.setFocusable(false); holder.CoffeeShopName.setFocusableInTouchMode(false); localView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.putExtra("coffeeshopid", ((TextView)v.findViewById(R.id.hlcoffeeshopid)).getText() ); intent.setClass(getParent(), Stamps.class); HistoryStack hisStack = (HistoryStack) getParent(); hisStack.push("Stamps", intent); } }); return localView; } } public class GridAdapterA extends BaseAdapter { private Context context; String total,count; public GridAdapterA(Context context) { this.context = context; } public GridAdapterA(Context context, String total, String count) { // TODO Auto-generated constructor stub this.context = context; this.total = total; this.count = count; } public boolean areAllItemsEnabled() { return false; } public boolean isEnabled(int position) { return false; } public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View gridView; if (convertView == null) { gridView = new View(context); gridView = inflater.inflate(R.layout.customgrid_row, null); gridView.setFocusable(false); ImageView imageView = (ImageView) gridView.findViewById(R.id.grid_item_image); imageView.setFocusable(false); int i = 0; if(count!="null") i = Integer.parseInt(count); if (position<i ) { //imageView.setImageResource(R.drawable.ii); // textView.setText(gridlist[position]); } else { imageView.setImageResource(R.drawable.changedcup); // textView.setText(""); } } else { gridView = (View) convertView; } /*gridView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.putExtra("coffeeshopid", ((TextView)v.findViewById(R.id.hlcoffeeshopid)).getText() ); intent.setClass(getParent(), Stamps.class); HistoryStack hisStack = (HistoryStack) getParent(); hisStack.push("Stamps", intent); } });*/ return gridView; } @Override public int getCount() { int j=0; if(total!="null"){ j = Integer.parseInt(total); } return j; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } } }
historylist
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/list_selector" android:orientation="horizontal" android:padding="5dip" > <LinearLayout android:id="@+id/thumbnail" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_marginRight="5dip" android:background="@drawable/image_bg" android:padding="3dip" > <ImageView android:id="@+id/list_image" android:layout_width="50dip" android:layout_height="50dip" android:src="@drawable/rcup" /> </LinearLayout> <TextView android:id="@+id/hlcoffeeshopname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/thumbnail" android:layout_toRightOf="@+id/thumbnail" android:text="Rihanna Love the way lie" android:textColor="#040404" android:textSize="20dip" android:textStyle="bold" android:typeface="sans" /> <TextView android:id="@+id/hlcoffeeshopid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" /> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridViewdistorylist" android:layout_width="wrap_content" android:layout_height="40dp" android:layout_below="@+id/hlcoffeeshopname" android:layout_toRightOf="@+id/thumbnail" android:columnWidth="20dp" android:background="@null" android:descendantFocusability="blocksDescendants" android:focusable="false" android:focusableInTouchMode="false" android:numColumns="10" android:stretchMode="none" > </GridView> </RelativeLayout>
New GetView
@Override public View getView(int paramInt, View paramView, ViewGroup paramViewGroup) { View localView = paramView; MyCustomHolder holder = null; if (localView == null) { LayoutInflater inflater = (LayoutInflater) CopyOfHistory.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); localView = inflater.inflate(R.layout.copyhistorylist, null); holder = new MyCustomHolder(); holder.coffeeShopName = (TextView) localView.findViewById(R.id.hlcoffeeshopname); holder.coffeeshopid = (TextView) localView.findViewById(R.id.hlcoffeeshopid); localView.setTag(holder); } else { holder = (MyCustomHolder) localView.getTag(); } holder.coffeeShopName.setText(TAG_COFFEESHOP_NAME.get(paramInt)); holder.coffeeshopid.setText(TAG_ID.get(paramInt)); int looplimit = Integer.parseInt(TAG_TOTAL.get(paramInt)); for (int i = 0; i < looplimit; i++) { Log.e("loop", String.valueOf(looplimit)); ImageView imageView = new ImageView(CopyOfHistory.this); if (i < Integer.parseInt(TAG_COUNT.get(paramInt))) { imageView.setImageDrawable(getResources().getDrawable(R.drawable.ii)); } else { imageView.setImageDrawable(getResources().getDrawable(R.drawable.iii)); } RelativeLayout layout = (RelativeLayout) localView.findViewById(R.id.hlrlayout); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(30,30); params.setMargins(i*40, 0, 0, 0); imageView.setLayoutParams(params); layout.addView(imageView);