我使用的是setListAdapter()方式,
在ViewHolder  有一个Button  我想在点击Button 跳转到另一个Acitvity中请问高手有什么方法,本人刚学习不久,希望高手们能帮帮小菜一下帮。其它代码没有问题,只差实现这一功能 了。

解决方案 »

  1.   

    setListAdapter(Context context)传递一个context到派生于BaseAdapter中在派生BaseAdapter类中,实现button跳转Button btn=(Button)view.findViewById(R.id.btn)
    btn.setOnClickListener(this);void OnClick(View v)
    {
        startActivity(new Intent(context,另一个activity.class);
    }
      

  2.   


    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;
      }}
      

  3.   

    @Override
    public void onClick(View arg0) {
       startActivity(new Intent(context,OtherActivity.class);
    }});
      

  4.   

    楼主,你这是需要自定义适配器的,这样就可以在getView方法里面找到这个button,在添加响应的事件就好了!就是2楼得方法!注意最好将这个button的焦点移除掉!
      

  5.   


    setOnClickListener 最好放在if(convertView == null){
    }
    里面。
      

  6.   

    startActivity 提示有错了, 请问具体是不是还有什么要添加的吗?
      

  7.   

    错误代码发上来吧。否则我都怀疑你是不是manifest文件里没声明这个activity
      

  8.   

    startActivity(new Intent(context,OtherActivity.class);在编译器就报错了,setListAdapter(Context context)传递一个context到派生于BaseAdapter中1楼的那位朋友说:在派生BaseAdapter类中,实现button跳转
    Button btn=(Button)view.findViewById(R.id.btn)
    btn.setOnClickListener(this);void OnClick(View v)
    {
      startActivity(new Intent(context,另一个activity.class);
    }
    具体的怎么使用传递过来的context我不会啊,能不能说下啊,希望能帮帮我,我的源码在2楼。
      

  9.   


    这个是正确答案,这个设计到自定义ListView项的问题,其实自定义项,其实每个项就是一个View的组,只要在getView里面重新封闭一个View 进行返回,在封闭View的同时,将子View的控件事件添加上就可以了,注意:最好将封闭的View写在内部类上