我在我的代码中包含2个按钮和2个TextView的列表视图。我想通过点击按钮访问每个textView的文本。这里是适配器的代码...从getItem()创建对象并访问字段
public class TracksAdapter extends SimpleAdapter {
public TracksAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) {
super(context, data, resource, from, to);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final TracksAdapter proxy = this;
final View trackView = super.getView(position, convertView, parent);
Button dl = (Button) trackView.findViewById(R.id.dl);
dl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Do something with data : proxy.getItem(position)
TextView tv = (TextView) trackView.findViewById(R.id.track);
String track = tv.getText().toString();
Toast.makeText(getApplicationContext() , track , Toast.LENGTH_LONG);
}
});
Button play = (Button) trackView.findViewById(R.id.play);
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Do something with data : proxy.getItem(position)
Toast.makeText(getApplicationContext() , String.valueOf(proxy.getItem(position)).indexOf("file=") , Toast.LENGTH_LONG);
}
});
return trackView;
}
}
的proxy.getItem(position)
的结果是一样的东西{id=4 , name=foo , track=fofoo}
我应该怎么做访问“富” ????
'proxy.getItem(位置).name' – Pat
我已经尝试过,但没有指定名称。这是不正确的。 –
你指的是'iosched'的TracksAdapter?如果是这样,那么在该类中没有名为'name'的字段。请参阅其API。如果是你自己的班级,请发布其代码。 – Pat