我需要在运行时更改网格视图中的列数...如图所示...我是android的新手,我不知道如何实现...实现需要... in第一行应该有两个图像,然后是三列......
这是我的代码.....
public class List_of_players extends Fragment implements OnItemClickListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.list_of_players, container,
false);
GridView gridview = (GridView) rootView.findViewById(R.id.gridView1);
gridview.setAdapter(new Customgrid(getActivity()));
gridview.setOnItemClickListener(this);
return rootView;
}
public class Customgrid extends BaseAdapter {
private Context m1Context;
public Customgrid(Context context) {
super();
this.m1Context = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 9;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
LayoutInflater inflater = ((Activity) m1Context)
.getLayoutInflater();
View customRow1 = inflater.inflate(R.layout.players, null);
return customRow1;
}
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
Intent intnt = new Intent(getActivity(), Players_details.class);
startActivity(intnt);
}
}
这是xml文件...
<GridView
android:id="@+id/gridView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/gray"
android:padding="10dp"
android:numColumns="2"
android:paddingBottom="10dp"
android:paddingTop="10dp" >
</GridView>
答案 0 :(得分:1)
我认为这根本不可能。 GridView应该看起来像一个网格。 如果你想要两个不同的行,请使用两种不同的布局:例如LinearLayout或GridView。
<!--two columns row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"/>
<!--three columns row-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"/>
在这种情况下,您可以动态更改每个布局内容甚至行号。