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,

我有一个android ListActivity,它通过布局充气器创建多个按钮(来自数据库源):

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()