1 只有两部分,一个主代码,一个布局,其中,主代码包含了Adapter,里面封装了信息
2
package com.example.c;
import java.util.*;
import android.app.Activity;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.ImageSwitcher;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity {
private static final String TAG="==GrazyIt.org==";
int [] imageIds=new int[]{
R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,
R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,
R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,
R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<Map<String,Object>> listItems=new ArrayList<Map<String,Object>>();
for(int i=0;i<imageIds.length;i++){
Map<String,Object> listItem=new HashMap<String,Object>();
listItem.put("image", imageIds[i]);
listItems.add(listItem);
}
// final ImageSwitcher switcher=(ImageSwitcher)findViewById(R.id.)
SimpleAdapter simpleAdapter=new SimpleAdapter(
this,
listItems,
R.layout.activity_main,
new String[]{"image"},
new int[]{R.id.image01});
GridView grid=(GridView)findViewById(R.id.grid01);
grid.setAdapter(simpleAdapter);
}
}
3 布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MainActivity" >
<GridView
android:id="@+id/grid01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:horizontalSpacing="0pt"
android:verticalSpacing="2pt"
android:numColumns="4"
android:gravity="center"
/>
<ImageView
android:id="@+id/image01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
4
测试代码2
package com.oschina.osmf;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.GridView;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity {
List<Map<String,Object>> lst = new ArrayList<Map<String,Object>>();
int[] imgid = new int[]{R.drawable.a,R.drawable.a,R.drawable.a,R.drawable.a,
R.drawable.a,R.drawable.a,R.drawable.a,R.drawable.a,
R.drawable.a,R.drawable.a,R.drawable.a,R.drawable.a,};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
for (int i = 0; i < 10; i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("image", imgid[i]);
map.put("title", i);
lst.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(this,lst,R.layout.main,new String[]{"image","title"},new int[]{R.id.imageView1,R.id.textView1});
GridView grid = (GridView)findViewById(R.id.gridView1);
grid.setAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}