在android toast中显示listview数据
我有一个带有按钮的列表视图和一组数据(姓名、年龄、身高),列表视图的一个元素是每个人的数据。我希望能够在单击按钮时创建一个吐司,显示此人的姓名。人民的数据存储在在android toast中显示listview数据,android,android-listview,onclicklistener,Android,Android Listview,Onclicklistener,我有一个带有按钮的列表视图和一组数据(姓名、年龄、身高),列表视图的一个元素是每个人的数据。我希望能够在单击按钮时创建一个吐司,显示此人的姓名。人民的数据存储在 我创建的对象的arrayList。如何做到这一点?我遇到的问题是在getView方法中访问onclicklistener onclick函数中的数据,您必须设置setOnClickListener,然后设置单击项的getPosition,并使用它从保存数据的arraylist中获取信息,然后调用getName()(或返回名称的某个函数)
我创建的对象的arrayList。如何做到这一点?我遇到的问题是在getView方法中访问onclicklistener onclick函数中的数据,您必须设置setOnClickListener,然后设置单击项的getPosition,并使用它从保存数据的arraylist中获取信息,然后调用getName()(或返回名称的某个函数)并显示它
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
Log.v("ConvertView", String.valueOf(position));
if (convertView == null) {
LayoutInflater vi = (LayoutInflater) getActivity()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = vi.inflate(R.layout.row, null);
holder = new ViewHolder();
holder.textView = (TextView) convertView
.findViewById(R.id.textViewRow);
holder.button = (Button) convertView
.findViewById(R.id.checkBoxRow);
convertView.setTag(holder);
holder.button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(this, "Name: " + yourArrayList.get(position).getName(), Toast.LENGTH_LONG).show();
}
});
} else {
holder = (ViewHolder) convertView.getTag();
}
return convertView;
}
}
private class ViewHolder {
TextView textView;
Button button;
}
在列表中使用其对象的类中编写getter和setter代码。在列表的getView方法的每一行中为按钮添加OnClickListener,然后使用position和get方法显示人员姓名 比如说-
ArrayList<PersonData> list = new ArrayList<PersonData>();
你说得对,谢谢。不知怎么的,我错过了。在这种情况下,在getView方法中为您的按钮添加一个OnClickListener,其余部分与Matej解释的基本相同。我将编辑我的答案。
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(this,"" + list.get(position).getName(),Toast.LENGTH_LONG).show();
}
});