我使用的是setListAdapter()方式,
在ViewHolder 有一个Button 我想在点击Button 跳转到另一个Acitvity中请问高手有什么方法,本人刚学习不久,希望高手们能帮帮小菜一下帮。其它代码没有问题,只差实现这一功能 了。
在ViewHolder 有一个Button 我想在点击Button 跳转到另一个Acitvity中请问高手有什么方法,本人刚学习不久,希望高手们能帮帮小菜一下帮。其它代码没有问题,只差实现这一功能 了。
解决方案 »
- android怎么判断Ftp上是否有某个文件,如update。求代码
- jni thread 退出异常 , native thread exited without detaching
- 我要在非sdcard 上写一个文件,让其他所有应用都有权限访问?
- 程序运行意外stop,求高人解答!
- android2.1 支持USB手柄的问题.
- android 中listview的圆角边框和连接
- 服务器客户端分时传递字符串和文件
- 如何让Actionbar在手机底部显示,可以改framework层
- 我学习Android两年了。但是我TMD真心不知道Service到底有啥用【很严肃的问题】
- ImageView设置图片setBackgroundResource报空指针异常
- 解析XML遇到的异常 ExpatParser$ParseException
- Notification 中实现 progressBar 遇到 RemoteViews 取packageName问题
btn.setOnClickListener(this);void OnClick(View v)
{
startActivity(new Intent(context,另一个activity.class);
}
public class Search extends ListActivity {
//其他的我给省了。
private List<String> sms_context = new ArrayList<String>();
setListAdapter(new Search_Adapter(this, sms_context));}
package com.sms;
import java.util.List;import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;public class Search_Adapter extends BaseAdapter {
private LayoutInflater mInflater;
private List<String> sms_context;
private Context context;
String sms_text;
public Search_Adapter(Context context, List<String> sms_context) {
/* 参数初始化 */
this.context = context;
mInflater = LayoutInflater.from(context);
this.sms_context = sms_context;
} @Override
public int getCount() {
// TODO Auto-generated method stub
return sms_context.size();
} @Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return sms_context.get(position);
} @Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if(convertView == null)
{
/* 使用自定义的file_row作为Layout */
convertView = mInflater.inflate(R.layout.search_row_layout,null);
/* 初始化holder的text与icon */
holder = new ViewHolder();
holder.search_result_text=(TextView)convertView.findViewById(R.id.search_row_textview);
holder.search_result_button= (Button)convertView.findViewById(R.id.search_row_button);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
/* 设定要显示的信息 */
holder.search_result_text.setText(sms_context.get(position).toString());
sms_text=holder.search_result_text.getText().toString(); holder.search_result_button.setOnClickListener(new Button.OnClickListener(){ @Override
public void onClick(View arg0) {
}});
return convertView;
}
private class ViewHolder
{
TextView search_result_text;
Button search_result_button;
}}
public void onClick(View arg0) {
startActivity(new Intent(context,OtherActivity.class);
}});
setOnClickListener 最好放在if(convertView == null){
}
里面。
Button btn=(Button)view.findViewById(R.id.btn)
btn.setOnClickListener(this);void OnClick(View v)
{
startActivity(new Intent(context,另一个activity.class);
}
具体的怎么使用传递过来的context我不会啊,能不能说下啊,希望能帮帮我,我的源码在2楼。
这个是正确答案,这个设计到自定义ListView项的问题,其实自定义项,其实每个项就是一个View的组,只要在getView里面重新封闭一个View 进行返回,在封闭View的同时,将子View的控件事件添加上就可以了,注意:最好将封闭的View写在内部类上