use*_*366 5 icons android text gridview image
请告诉我如何在android网格视图教程中更改或应用具有不同文本的不同图标.我的代码是
public class Home extends Activity
{
//---the images to display---
Integer[] imageIDs = {
};
GridView grid_main;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
grid_main = (GridView) findViewById(R.id.gridview);
grid_main.setAdapter(new ImageAdapter(this));
grid_main.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent,
View v, int position, long id)
{
Toast.makeText(getBaseContext(),
"pic" + (position + 1) + " selected",
Toast.LENGTH_SHORT).show();
}
});
}
public class ImageAdapter extends BaseAdapter
{
Context mContext;
public static final int ACTIVITY_CREATE = 10;
public ImageAdapter(Context c)
{
mContext = c;
}
//---returns the number of images---
public int getCount() {
return 12;
}
//---returns the ID of an item---
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
//---returns an ImageView view---
public View getView(int position, View convertView, ViewGroup parent)
{
View v;
if(convertView==null){
LayoutInflater li = getLayoutInflater();
v = li.inflate(R.layout.grid_item, null);
TextView tv = (TextView)v.findViewById(R.id.icon_text1);
tv.setText("Profile "+position);
ImageView iv = (ImageView)v.findViewById(R.id.icon_image1);
iv.setImageResource(R.drawable.bo_1);
}
else
{
v = convertView;
}
return v;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码运行完美,但所有图像和文本都相同,所以我需要更改它.请告诉我怎么做?任何帮助,将不胜感激!!
小智 0
最重要的两行是这四行:
TextView tv = (TextView)v.findViewById(R.id.icon_text1);
tv.setText("Profile "+position);
ImageView iv = (ImageView)v.findViewById(R.id.icon_image1);
if (position == 0) {
iv.setImageResource(R.drawable.bo_1);
} else if (position == 1) {
iv.setImageResource(R.drawable.bo_2);
}
Run Code Online (Sandbox Code Playgroud)
在第一行中,您从 XMLlayout 文件中获取 TextView。然后,将此 TextView 的文本设置为“Profile”和一个数字。在第三行中初始化 ImageView。之后,您将在该 ImageView 中使用名为 bo1 的图像。因此,您所要做的就是在第二行中添加另一个文本并更改您在第四行中引用的图像。