I am new to android, I\'m trying to develop an application with gridview and listview using json. Through json I displayed set of images in gridview and based on the position of
Since you are using the default ListView and ArrayAdapter, and you have only one data list, ie SubCatgyData, you should be using android.R.layout.simple_list_item_1 instead of android.R.layout.simple_list_item_2.
The difference between the two is android.R.layout.simple_list_item_1 has only one TextView inside it, while android.R.layout.simple_list_item_2 has two TextView.
ArrayAdapter adapter = new ArrayAdapter(Sub_Categories.this,android.R.layout.simple_list_item_1,SubCatgyData);
You need to override [ArrayAdapter.getView(int, View, ViewGroup)](http://developer.android.com/reference/android/widget/ArrayAdapter.html#getView(int, android.view.View, android.view.ViewGroup)). See http://developer.android.com/reference/android/widget/ArrayAdapter.html
To use something other than TextViews for the array display, for instance, ImageViews, or to have some of data besides toString() results fill the views, override getView(int, View, ViewGroup) to return the type of view you want.
Create your custom layout for adapter. You are using one provided by android. See the android prefix you are using for your layout.