ListView 按钮点击 toast textview 文本
ListView button click toast textview text
我有一个带有按钮的列表视图,我正在尝试吐司一个文本,当用户单击按钮时,该文本将是带有 id mobile 的文本视图的文本
的列表项。
我的视图 class 如下所示,当我单击按钮时,应用程序关闭并重新启动。
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
holder = new ViewHolder();
v = vi.inflate(Resource, null);
holder.imageview = (ImageView) v.findViewById(R.id.photo);
holder.tvName = (TextView) v.findViewById(R.id.doctor);
holder.tvMobile = (TextView) v.findViewById(R.id.mobile);
Button btnCall = (Button) v.findViewById(R.id.btnCall);
btnCall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String message= ((TextView) view.findViewById(R.id.mobile)).getText().toString();
Toast.makeText(view.getContext(), message, Toast.LENGTH_SHORT).show();
}
});
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
holder.imageview.setImageResource(R.drawable.noimage);
new DownloadImageTask(holder.imageview).execute(doctorList.get(position).getImage());
holder.tvName.setText(doctorList.get(position).getName());
holder.tvMobile.setText(doctorList.get(position).getMobile());
return v;
}
你做错了:-
而不是:-
@Override
public void onClick(View view) {
String message= ((TextView) view.findViewById(R.id.mobile)).getText().toString();
Toast.makeText(view.getContext(), message, Toast.LENGTH_SHORT).show();
}
你需要做
@Override
public void onClick(View view) {
String message= ((TextView) v.findViewById(R.id.mobile).getText().toString();
Toast.makeText(view.getContext(), message, Toast.LENGTH_SHORT).show();
}
因为您的移动文本视图不是单击按钮的子视图,而您正试图从错误的按钮中获取他的引用。
我有一个带有按钮的列表视图,我正在尝试吐司一个文本,当用户单击按钮时,该文本将是带有 id mobile 的文本视图的文本 的列表项。 我的视图 class 如下所示,当我单击按钮时,应用程序关闭并重新启动。
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
holder = new ViewHolder();
v = vi.inflate(Resource, null);
holder.imageview = (ImageView) v.findViewById(R.id.photo);
holder.tvName = (TextView) v.findViewById(R.id.doctor);
holder.tvMobile = (TextView) v.findViewById(R.id.mobile);
Button btnCall = (Button) v.findViewById(R.id.btnCall);
btnCall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String message= ((TextView) view.findViewById(R.id.mobile)).getText().toString();
Toast.makeText(view.getContext(), message, Toast.LENGTH_SHORT).show();
}
});
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
holder.imageview.setImageResource(R.drawable.noimage);
new DownloadImageTask(holder.imageview).execute(doctorList.get(position).getImage());
holder.tvName.setText(doctorList.get(position).getName());
holder.tvMobile.setText(doctorList.get(position).getMobile());
return v;
}
你做错了:-
而不是:-
@Override
public void onClick(View view) {
String message= ((TextView) view.findViewById(R.id.mobile)).getText().toString();
Toast.makeText(view.getContext(), message, Toast.LENGTH_SHORT).show();
}
你需要做
@Override
public void onClick(View view) {
String message= ((TextView) v.findViewById(R.id.mobile).getText().toString();
Toast.makeText(view.getContext(), message, Toast.LENGTH_SHORT).show();
}
因为您的移动文本视图不是单击按钮的子视图,而您正试图从错误的按钮中获取他的引用。