如何设置点击听众对我的适配器生成一个按钮? [英] How to set the click listener on a button generated by my adapter?
本文介绍了如何设置点击听众对我的适配器生成一个按钮?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的简单的适配器:
This is my simple adapter:
public class MainAdapter extends BaseAdapter {
private Context mContext;
private Integer[] mText = {
R.string.main_team,
R.string.main_league,
R.string.main_economy,
R.string.main_arena,
R.string.main_staff,
R.string.main_team_up
};
public MainAdapter(Context c) {
mContext = c;
}
@Override
public int getCount() {
return mText.length;
}
@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 position, View convertView, ViewGroup parent) {
Button buttonView;
if (convertView == null) { // if it's not recycled, initialize some attributes
buttonView = new Button(mContext);
buttonView.setLayoutParams(new GridView.LayoutParams(85, 45));
//imageView.setScaleType(Button.ScaleType.CENTER_CROP);
buttonView.setPadding(4, 4, 4, 4);
} else {
buttonView = (Button) convertView;
}
buttonView.setText(mText[position]);
return buttonView;
}
}
每个按钮都有,开始了自己的意图。
我想使用基于位置的开关情况,但它似乎真的傻作为解决方案。
Every button has to start its own intent. I was thinking of using a switch case based on the position but it seems really "stupid" as solution.
推荐答案
我想创建一个新的对象,例如。 ActivityLaunchButtonData code>保存按钮文字和按钮的意图。
I would create a new object, eg. ActivityLaunchButtonData
to store the button Text and the button Intent.
然后我会在ActivityLaunchButtonData对象的数组。
Then I would have an array of ActivityLaunchButtonData objects.
然后在 getView
方法我有类似:
ActivityLaunchButtonData activityLaunchButtonData = activityLaunchButtonDataArray[position];
buttonView.setText(activityLaunchButtonData.getText());
buttonView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = activityLaunchButtonData.getIntent();
startActivity(intent);
}
});
这篇关于如何设置点击听众对我的适配器生成一个按钮?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文