【问题标题】:ImageButton inside Android ListView with BaseAdapter带有 BaseAdapter 的 Android ListView 内的 ImageButton
【发布时间】:2011-09-28 18:26:07
【问题描述】:

我已经实现了一个 BaseAdapter 并将该 BaseAdapter 绑定到我的 ListView。 ListView 的每一行的布局都包含一个 ImageButton。如何将该 ImageButton 绑定到单击侦听器,然后使用该 ImageButton 调用新活动。

【问题讨论】:

    标签: android android-layout android-widget android-manifest


    【解决方案1】:

    这是一个示例适配器类。

    import java.util.ArrayList;
    
    import android.content.Context;
    import android.content.Intent;
    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.TextView;
    import android.widget.Toast;
    
    import com.amazon.mp3.AlbumDetail.Details;
    
    
    
    public class CustomListAdapter extends BaseAdapter {
    private  ArrayList<Details> allElementDetails;
    private Context con; 
    private LayoutInflater mInflater;
    String temp;
    public CustomListAdapter(Context context, ArrayList<Details> results) {
        allElementDetails = results;
        mInflater = LayoutInflater.from(context);
        con=context;
    }
    public int getCount() {
        return allElementDetails.size();        
    }
    public Object getItem(int position) {
        return allElementDetails.get(position);
    }
    public long getItemId(int position) {
        return position;
    }
    public View getView(final int position, View convertView, ViewGroup parent) 
    {
                        //select ur xml file
        convertView = mInflater.inflate(R.layout.listview_elements, null);
    
        TextView textview1 = (TextView) convertView.findViewById(R.id.TextView01);
        TextView textview2 = (TextView) convertView.findViewById(R.id.TextView02);
        TextView textview3 = (TextView) convertView.findViewById(R.id.TextView03);
        Button buy=(Button)convertView.findViewById(R.id.buy_song_button);
        buy.setOnClickListener(new OnClickListener() {
    
            public void onClick(View v) {
    
            Intent intent=new   Intent(con,Buy_song.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    
             con.startActivity(intent);
    
    
            }
                else
                    Toast.makeText(con,"Not available for purchase", Toast.LENGTH_SHORT).show();
    
            }
        });
    
        if(allElementDetails.get(position).songname.contains("&amp;"))
        {
      temp=allElementDetails.get(position).songname.replace("&amp;", "and");
        textview1.setText(temp);
        }
        else
        textview1.setText(allElementDetails.get(position).songname);
    
        textview2.setText(allElementDetails.get(position).runtime);
        if(allElementDetails.get(position).price.startsWith("$"))
        textview3.setText(allElementDetails.get(position).price);
        else
               textview3.setText("Album only");
        return convertView;
    }    
    
    }
    

    在此适配器中查找购买按钮。

    【讨论】:

      猜你喜欢
      • 2020-11-19
      • 2015-11-20
      • 2016-01-08
      • 1970-01-01
      • 2013-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多