Android 获取listActivity中已单击按钮的文本
我有一个android ListActivity,它通过布局充气器创建多个按钮(来自数据库源):Android 获取listActivity中已单击按钮的文本,android,android-layout,Android,Android Layout,我有一个android ListActivity,它通过布局充气器创建多个按钮(来自数据库源): private class QuestAdaptor extends ArrayAdapter<Quests> { private ArrayList<Quests> quests; public QuestAdaptor(Context context,
private class QuestAdaptor extends ArrayAdapter<Quests> {
private ArrayList<Quests> quests;
public QuestAdaptor(Context context,
int textViewResourceId,
ArrayList<Quests> items) {
super(context, textViewResourceId, items);
this.quests = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.quests, null);
}
Quests o = quests.get(position);
TextView qt = (TextView) v.findViewById(R.id.quest_title);
TextView qpr = (TextView) v.findViewById(R.id.quest_price);
TextView qp = (TextView) v.findViewById(R.id.quest_points);
TextView btn = (TextView) v.findViewById(R.id.btn_select_quest);
qt.setText(o.title);
qpr.setText(o.dollar_price);
qp.setText(o.pts);
btn.setText(o.quest_id);
return v;
}
私有类QuestAdaptor扩展了ArrayAdapter{
私人ArrayList任务;
公共QuestAdaptor(上下文,
int textViewResourceId,
ArrayList项目){
super(上下文、textViewResourceId、项);
这个。任务=物品;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图v=转换视图;
如果(v==null){
LayoutInflater vi=(LayoutInflater)
getSystemService(上下文布局\充气机\服务);
v=vi.充气(R.布局.任务,空);
}
任务o=任务。获取(位置);
TextView qt=(TextView)v.findViewById(R.id.quest_title);
TextView qpr=(TextView)v.findViewById(R.id.quest_price);
TextView qp=(TextView)v.findViewById(R.id.quest_点);
TextView btn=(TextView)v.findViewById(R.id.btn\u select\u quest);
qt.setText(o.title);
qpr.setText(o.美元/单位价格);
qp.setText(o.pts);
btn.setText(o.quest_id);
返回v;
}
我还有一个在xml布局中定义的“onclick”方法:
<Button
android:id="@+id/btn_select_quest"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/quest_points"
android:onClick="selectQuest"
android:text="" />
public void selectQuest (View v){
Button btn_select_quest = (Button)findViewById(R.id.btn_select_quest);
String buttonText = btn_select_quest.getText().toString();
showToastMessage(buttonText);
}
公共void selectQuest(视图五){
按钮btn\u选择任务=(按钮)findViewById(R.id.btn\u选择任务);
字符串buttonText=btn_select_quest.getText().toString();
showToastMessage(按钮文本);
}
我的问题是,上面的代码总是在单击任何按钮时返回“1”(按钮标题为“1”、“2”、“3”等)。我想我正在寻找类似这样的东西。getText()。toString?而不是在SelectQuest中使用findviewbyid使用传递给函数的v String buttonText=v.getText().toString() 此操作不允许使用getText()