android listview中button问题 在listview中有多条数据,每个数据有一个button,在button中绑定不同的数据,点击不同的button,向下一个界面传递不同的数据,要如何实现,期盼各位大侠的帮助。是android新手最好有个简单的例子让我能快速的测试。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在Button 点击事件中 把你要传递的数据 封装起来 用intent.putExtra("标记", 数据);传到下一个activity,在下一个activity中在把数据取出来。OVAER! 您好啊,知道要把数据封装好了和button绑定,但是从服务器上传过来的信息如何和对应的button进行绑定呢,你怎么知道这个button点击要传递的是哪个信息。 用BaseAdapter关联数据,把从服务器传过来的数据封装在ArrayList中,在getView方法中,设置tag,根据不同的tag就可以区分不同的数据了。 各位大侠,做个例子可以吗,我对android一些东西还不太懂,能有个例子我可以测试下理解这些。 刚上传的:《Android知识系统总结》主要内容包括:1. 7个Android应用程序源代码。2. android入门到精通pdf。3. Android学习笔记。4. android开发入门与实践。5. android开发书籍1、android开发书籍2、android开发书籍3、android开发书籍4。6. android程序编写及调试新手入门.pdf。7. Android开发教程笔记完全版.pdf。8. android培训.ppt。9. Android应用开发揭秘.pdf。10. Android最佳学习路线图.pdf。11. Android最新应用开发技术及典型案例.pdf。你还等什么,而且不要分了,由于以前要的多,好多人都说我,从今天以后,只要我上传的资源,都不再超过0分. 地址:http://download.csdn.net/detail/wangxiangdong_sl/3619834 在Adapter里面的getView(int position, View convertView, ViewGroup parent) {}进行操作,通过position得到是listview里面的第几个cellview,那个position应该可以对应到你从服务器拿到的数据的index吧,然后在相应convertView里面找到那个button就可以了吧…… 自己重写adapter类,然后再getview里面写BUTTON的点击事件,这样不同BUTTON点击就可以传出不同的值 楼上2个方法正确。贴个代码你看看。package com.renrenwei.adapter;import android.content.Context;import android.content.Intent;import android.content.res.Resources;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.View.OnClickListener;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.ImageButton;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import com.renrenwei.activity.R;import com.renrenwei.activity.TestMediaPlayer;import com.renrenwei.myanimation.MyAnimation;public class MainListAdapter extends BaseAdapter { private LayoutInflater layoutinflater; private View myview; private String title; private Context context; private final int Animation = 6; private final int messagenum = 5; public MainListAdapter(Context c, String title) { this.layoutinflater = LayoutInflater.from(c); this.title = title; this.context = c; } public int getCount() { return messagenum; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { myview = layoutinflater.inflate(R.layout.main_item, null); final TextView textView = (TextView) myview .findViewById(R.id.textview_number); TextView textView_main = (TextView) myview .findViewById(R.id.textview_weiguan); final TextView textView_user = (TextView) myview .findViewById(R.id.textview_user); textView_user.setText("裴江平:果然神马都是浮云。。"); textView_main.setText(title); Button Button_Main_weiguan = (Button) myview .findViewById(R.id.Button_01); // ImageView imageview_Main_01 = (ImageView) myview // .findViewById(R.id.imageview_01); final ImageView imageview_Main_user = (ImageView) myview .findViewById(R.id.imageview_user); imageview_Main_user.setBackgroundResource(R.drawable.s); LinearLayout linearLayout_Mian_Tu = (LinearLayout) myview .findViewById(R.id.linearlayout_mian_tu); final LinearLayout linearLayout_Mian_user = (LinearLayout) myview .findViewById(R.id.linearlayout_usermessage); Button_Main_weiguan.setOnClickListener(new GoToMediaPlayer()); linearLayout_Mian_Tu.setOnClickListener(new GoToMediaPlayer()); ImageButton imagebutton_next = (ImageButton) myview .findViewById(R.id.imagebutton_main_next); Resources res = context.getResources(); imagebutton_next.setBackgroundDrawable(res .getDrawable(android.R.drawable.arrow_down_float)); ImageButton imagebutton_top = (ImageButton) myview .findViewById(R.id.imagebutton_main_top); imagebutton_top.setBackgroundDrawable(res .getDrawable(android.R.drawable.arrow_up_float)); imagebutton_top.setOnClickListener(new OnClickListener() { public void onClick(View v) { MyAnimation ma = new MyAnimation(linearLayout_Mian_user, context); ma.load_start_Animation(Animation); imageview_Main_user.setBackgroundResource(R.drawable.b); textView_user.setText("芙蓉姐姐:没有姐做不到的事情!"); } }); imagebutton_next.setOnClickListener(new OnClickListener() { public void onClick(View v) { MyAnimation ma = new MyAnimation(linearLayout_Mian_user, context); ma.load_start_Animation(Animation); imageview_Main_user.setBackgroundResource(R.drawable.a); textView_user.setText("凤姐:一点也不好玩"); // Message message = new Message(); // message.what = 1; // handler.sendMessage(message); } }); textView.setText("目前有" + position + "人在围观"); return myview; } class GoToMediaPlayer implements OnClickListener { public void onClick(View v) { Intent intent = new Intent(context,TestMediaPlayer.class); context.startActivity(intent); } }} 其实楼上同胞们不是你们想的那么简单,每次点击button获得都是最后一个item的position,我也在纠结这个问题 listView的button主要有个焦点获取的问题,要注意 问题解决了,还是老外给的意见比较牛逼,希望可以帮到这位兄弟public View getView(final int position, View convertView, ViewGroup parent){ if (null == convertView) { holder = new ViewHolder(); ... convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.position = position;}public static class ViewHolder { private TextView text01; public int position; } public ViewHolder getViewHolder(View v){ if(v.getTag() == null){ return getViewHolder((View)v.getParent()); } return (ViewHolder)v.getTag(); } public void onClick(View v) { ViewHolder vh = getViewHolder(v); wantPosition = vh.position // Here I get position } 谢谢搞定了public class TestListViewActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);// String [] data = {"red","blue","green","yellow"}; Intent intentSend = getIntent(); String [] color = intentSend.getStringArrayExtra("color"); ListView listView = (ListView)findViewById(android.R.id.list); listView.setAdapter(new ArrayAdapter<String>( this,android.R.layout.simple_list_item_single_choice,color));// listView.setItemsCanFocus(true); OnItemClickListener listener = new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, int position, long id) { Intent intent = new Intent(TestListViewActivity.this,Receive.class); String color = parent.getItemAtPosition(position).toString(); intent.putExtra("color", color); startActivity(intent); } }; listView.setOnItemClickListener(listener); } eclipse求教一个问题!!!! 请教: 桌面图标如何显示类型分类. 安卓开发新手问题 listView 长按某子项目的问题. 关于通过wifi连接adb的问题 新手学安卓,画布写的字不显示? android物理9键盘实现字符切换? 最近一项目,有点类似电视的画中画,已经完美解决,来送分 post乱码问题 Android中如何做到能够接收到服务器传来的消息? 求repo。repo,repo.... ListView怎么往里面添加ProgreeBar 啊?????急等
1. 7个Android应用程序源代码。
2. android入门到精通pdf。
3. Android学习笔记。
4. android开发入门与实践。
5. android开发书籍1、android开发书籍2、android开发书籍3、android开发书籍4。
6. android程序编写及调试新手入门.pdf。
7. Android开发教程笔记完全版.pdf。
8. android培训.ppt。
9. Android应用开发揭秘.pdf。
10. Android最佳学习路线图.pdf。
11. Android最新应用开发技术及典型案例.pdf。
你还等什么,而且不要分了,由于以前要的多,好多人都说我,从今天以后,只要我上传的资源,都不再超过0分.
地址:http://download.csdn.net/detail/wangxiangdong_sl/3619834
package com.renrenwei.adapter;import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;import com.renrenwei.activity.R;
import com.renrenwei.activity.TestMediaPlayer;
import com.renrenwei.myanimation.MyAnimation;public class MainListAdapter extends BaseAdapter {
private LayoutInflater layoutinflater;
private View myview;
private String title;
private Context context;
private final int Animation = 6;
private final int messagenum = 5; public MainListAdapter(Context c, String title) {
this.layoutinflater = LayoutInflater.from(c);
this.title = title;
this.context = c;
} public int getCount() {
return messagenum;
} public Object getItem(int position) {
return position;
} public long getItemId(int position) {
return position;
} public View getView(int position, View convertView, ViewGroup parent) {
myview = layoutinflater.inflate(R.layout.main_item, null);
final TextView textView = (TextView) myview
.findViewById(R.id.textview_number);
TextView textView_main = (TextView) myview
.findViewById(R.id.textview_weiguan);
final TextView textView_user = (TextView) myview
.findViewById(R.id.textview_user);
textView_user.setText("裴江平:果然神马都是浮云。。");
textView_main.setText(title);
Button Button_Main_weiguan = (Button) myview
.findViewById(R.id.Button_01);
// ImageView imageview_Main_01 = (ImageView) myview
// .findViewById(R.id.imageview_01);
final ImageView imageview_Main_user = (ImageView) myview
.findViewById(R.id.imageview_user);
imageview_Main_user.setBackgroundResource(R.drawable.s);
LinearLayout linearLayout_Mian_Tu = (LinearLayout) myview
.findViewById(R.id.linearlayout_mian_tu);
final LinearLayout linearLayout_Mian_user = (LinearLayout) myview
.findViewById(R.id.linearlayout_usermessage);
Button_Main_weiguan.setOnClickListener(new GoToMediaPlayer());
linearLayout_Mian_Tu.setOnClickListener(new GoToMediaPlayer());
ImageButton imagebutton_next = (ImageButton) myview
.findViewById(R.id.imagebutton_main_next);
Resources res = context.getResources();
imagebutton_next.setBackgroundDrawable(res
.getDrawable(android.R.drawable.arrow_down_float));
ImageButton imagebutton_top = (ImageButton) myview
.findViewById(R.id.imagebutton_main_top);
imagebutton_top.setBackgroundDrawable(res
.getDrawable(android.R.drawable.arrow_up_float));
imagebutton_top.setOnClickListener(new OnClickListener() { public void onClick(View v) {
MyAnimation ma = new MyAnimation(linearLayout_Mian_user,
context);
ma.load_start_Animation(Animation);
imageview_Main_user.setBackgroundResource(R.drawable.b);
textView_user.setText("芙蓉姐姐:没有姐做不到的事情!");
} });
imagebutton_next.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MyAnimation ma = new MyAnimation(linearLayout_Mian_user,
context);
ma.load_start_Animation(Animation);
imageview_Main_user.setBackgroundResource(R.drawable.a);
textView_user.setText("凤姐:一点也不好玩");
// Message message = new Message();
// message.what = 1;
// handler.sendMessage(message);
}
});
textView.setText("目前有" + position + "人在围观");
return myview;
} class GoToMediaPlayer implements OnClickListener {
public void onClick(View v) {
Intent intent = new Intent(context,TestMediaPlayer.class);
context.startActivity(intent);
}
}
}
public View getView(final int position, View convertView,
ViewGroup parent){
if (null == convertView)
{
holder = new ViewHolder();
...
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.position = position;
}public static class ViewHolder {
private TextView text01;
public int position;
}
public ViewHolder getViewHolder(View v){
if(v.getTag() == null){
return getViewHolder((View)v.getParent());
}
return (ViewHolder)v.getTag();
}
public void onClick(View v) {
ViewHolder vh = getViewHolder(v);
wantPosition = vh.position // Here I get position
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// String [] data = {"red","blue","green","yellow"};
Intent intentSend = getIntent();
String [] color = intentSend.getStringArrayExtra("color");
ListView listView = (ListView)findViewById(android.R.id.list);
listView.setAdapter(new ArrayAdapter<String>(
this,android.R.layout.simple_list_item_single_choice,color));
// listView.setItemsCanFocus(true);
OnItemClickListener listener = new OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
Intent intent = new Intent(TestListViewActivity.this,Receive.class);
String color = parent.getItemAtPosition(position).toString();
intent.putExtra("color", color);
startActivity(intent);
}
};
listView.setOnItemClickListener(listener);
}