Reputation: 51
I am developing an app in android.I have one grid view inside my layout. The text to be inserted in grid view i am obtaining from a web service.. This i am putting to an array.. Array size is greater than 18. But when i am using adapter to set to the gridview, it just appears as a bar on the screen.When data is large, scrolling will be enabled ryt?.. but its not coming.
This is my xml layout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageButton
android:id="@+id/cancelbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:background="@android:color/transparent"
android:onClick="onButtonClick"
android:src="@drawable/cancel"/>
<Button
android:id="@+id/page4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Page4"
android:textSize="20sp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:onClick="page4ButtonClick" />
<Button
android:id="@+id/page3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Page3"
android:textSize="20sp"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/page4"
android:onClick="page3ButtonClick" />
<Button
android:id="@+id/page2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Page2"
android:textSize="20sp"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/page3"
android:onClick="page2ButtonClick"/>
<Button
android:id="@+id/page1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Page1"
android:textSize="20sp"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/page2"
android:onClick="page1ButtonClick" />
<TextView
android:id="@+id/qr_code_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/qr_code_label" />
<Button
android:id="@+id/imageButton"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:onClick="onImageButtonClick"
android:text="@string/image" />
<Button
android:id="@+id/qrButton"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/imageButton"
android:onClick="onQRButtonClick"
android:text="@string/qr" />
<GridView
android:id="@+id/gridView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnWidth="80dp"
android:gravity="center_horizontal"
android:layout_centerInParent ="true"
android:layout_marginTop="150dp"
android:verticalSpacing="0dp"
android:horizontalSpacing="0dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:background="@color/peach"
android:visibility="invisible"
>
</GridView>
</RelativeLayout>
And this is the function where i am calling web service and inserting data
private ArrayList<String> callService()
{
ArrayList<String> devices;
devices=new ArrayList<String>();
try
{
ODataConsumer con=ODataJerseyConsumer.create("url of web service");
List<OEntity> listEntities = con.getEntities("Devices").execute().toList();
if (listEntities.size() > 0)
{
for (OEntity entity : listEntities)
{
devices.add(entity.getProperty("Name").getValue().toString());
}
}
String[] devices_list= new String[devices.size()];
devices_list = devices.toArray(devices_list);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, devices_list);
mGrid.setAdapter(adapter);
}
catch(Exception e)
{
}
return devices;
}
And in another function i am setting the visibility of grid view to visible. This is being done in UI thread. Grid view is appearing, but not having any data, its coming as a small bar.
Please help me as i am new to android..
Upvotes: 0
Views: 238
Reputation: 441
change android:layout_width
and android:layout_height
to fill_parent
. try like this.
<GridView
android:id="@+id/gridView1"
android:numColumns="3"
android:gravity="center"
android:columnWidth="50dp"
android:stretchMode="columnWidth"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</GridView>
Tell me if it doesn't work ;)
Upvotes: 2