我有點小問題,我將如何識別哪個項目被點擊OnClickEvent。我使用Images + Text繪製gridview菜單。這裏是我的代碼:獲取哪個項目被點擊
public class MyActivity extends Activity implements OnItemClickListener {
GridView menu;
private String[] menu_text = {
"Menu1",
"Menu2",
"Menu3",
"Menu4",
"Menu5",
"Menu6",
"Menu7",
"Menu8"};
private Integer[] menu_icon = {
R.drawable.icon,
R.drawable.icon,
R.drawable.icon,
R.drawable.icon,
R.drawable.icon,
R.drawable.icon,
R.drawable.icon,
R.drawable.icon,};
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);
menu = (GridView)findViewById(R.id.Menu);
menu.setOnItemClickListener(this);
menu.setAdapter(new MenuItem(this, R.layout.menu_item, menu_text));
}
public class MenuItem extends ArrayAdapter {
public MenuItem(Context context, int textViewResourceId, String[] objects) {
super(context, textViewResourceId, objects);
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater=getLayoutInflater();
View row=inflater.inflate(R.layout.menu_item, parent, false);
TextView tv=(TextView)row.findViewById(R.id.text);
tv.setText(menu_text[position]);
tv.setTextColor(Color.BLACK);
tv.setCompoundDrawablesWithIntrinsicBounds(0, menu_icon[position], 0, 0);
return row;
}
}
public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
// TODO Action to perform
}
}
所以我的問題是我怎麼能識別被點擊了這個格菜單哪個項目。
公共無效onItemClick(適配器視圖爲arg0,查看ARG1,INT ARG2,長ARG3){ 字符串menuText = MENU_TEXT [ARG2]; Drawable d = getResources()。getDrawable(menu_icon [arg2]); } – 2012-02-24 12:08:36