1.一个接口:
//重点
public interface ListItemClickHelp {
void onClick(View item, View widget, int position, int which);
}
2.适配器:
package mstart.yeketech.com.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import java.util.List;
import mstart.yeketech.com.tools.BeanNba;
import mstart.yeketech.com.tools.ListItemClickHelp;
import mstart.yeketech.com.yeke.R;
public class MyNbaAdapter extends BaseAdapter {
private List<BeanNba> list;
private LayoutInflater inflater;
private Context context;
//private TextView duration_texts;
private ListItemClickHelp callback;
public MyNbaAdapter(Context context, List<BeanNba> list,ListItemClickHelp callback) {
inflater = LayoutInflater.from(context);
this.context = context;
this.list = list;
this.callback=callback;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, final ViewGroup parent) {
// TODO Auto-generated method stub
ViewHoldernba holder;
if (convertView == null) {
holder = new ViewHoldernba();
convertView = inflater.inflate(R.layout.nbaitem, null);
holder.player1 = (TextView) convertView
.findViewById(R.id.nba_player1);
holder.player2 = (TextView) convertView
.findViewById(R.id.nba_player2);
holder.player1logo = (ImageView) convertView
.findViewById(R.id.nba_player1logo);
holder.player2logo = (ImageView) convertView
.findViewById(R.id.nba_player2logo);
holder.m_time = (TextView) convertView
.findViewById(R.id.nba_mtime);
holder.score = (TextView) convertView
.findViewById(R.id.nba_score);
holder.link1url = (TextView) convertView
.findViewById(R.id.nba_link1url);
holder.link2url = (TextView) convertView
.findViewById(R.id.nba_link2url);
convertView.setTag(holder);
} else {
holder = (ViewHoldernba) convertView.getTag();
}
holder.player1.setText("主队:"+list.get(position).getPlayer1().toString());
holder.player2.setText("客队:"+list.get(position).getPlayer2().toString());
holder.m_time.setText("比赛时间:"+list.get(position).getM_time().toString());
holder.score.setText("比分:"+list.get(position).getScore().toString());
holder.link1url.setText("视频集锦:"+list.get(position).getLink1url().toString());
holder.link2url.setText("数据统计:"+list.get(position).getLink2url().toString());
Picasso.with(context).load(list.get(position).getPlayer1logo().toString()).placeholder(R.mipmap.news).error(R.mipmap.news).into(holder.player1logo);
Picasso.with(context).load(list.get(position).getPlayer2logo().toString()).placeholder(R.mipmap.news).error(R.mipmap.news).into(holder.player2logo);
//重点:
final View view = convertView;
final int p = position;
final int one = holder.link1url.getId();
holder.link1url.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
callback.onClick(view, parent, p, one);
}
});
final int two = holder.link2url.getId();
holder.link2url.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
callback.onClick(view, parent, p, two);
}
});
return convertView;
}
}
class ViewHoldernba {
TextView player1, player2,m_time,score,link1url,link2url;
ImageView player1logo, player2logo;
}
3.主函数:
public class NbaActivity extends AutoLayoutActivity implements ListItemClickHelp{ private ImageView back; private EditText put; private Button check; private TextView title; AbHttpUtil abHttpUtil = null; private AbPullToRefreshView mAbPullToRefreshView = null; private MyNbaAdapter myadapter; private ArrayList<BeanNba> mlist = new ArrayList<BeanNba>(); private BeanNba bean; private ListView mlistView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_nba); back = (ImageView) findViewById(R.id.nba_back); back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { NbaActivity.this.finish(); } }); mlistView= (ListView) findViewById(R.id.nba_listview); myadapter = new MyNbaAdapter(NbaActivity.this, mlist,NbaActivity.this); mlistView.setAdapter(myadapter); //这个必不可少: mlistView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(NbaActivity.this,"123",Toast.LENGTH_SHORT).show(); } }); put= (EditText) findViewById(R.id.nba_put); check= (Button) findViewById(R.id.nba_check); check.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getdata(); } }); title= (TextView) findViewById(R.id.nba_saijiname); } //加载网络数据的: public void getdata() { } //这里是重点:两个地方要点击(视频集锦:和数据统计:)。不是整个点击() @Override public void onClick(View item, View widget, int position, int which) { switch (which) { case R.id.nba_link1url: Intent intent = new Intent(NbaActivity.this, WebActivity.class); Bundle bundle=new Bundle(); String url =mlist.get(position).getLink1url(); Log.e("+++url",url); bundle.putString("weburl",url); intent.putExtras(bundle); startActivity(intent); break; case R.id.nba_link2url: Intent intent2 = new Intent(NbaActivity.this, WebActivity.class); Bundle bundle2=new Bundle(); String url2 =mlist.get(position).getLink2url(); bundle2.putString("weburl",url2); intent2.putExtras(bundle2); startActivity(intent2); break; default: break; } } }