`
wang_peng1
  • 浏览: 3944301 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单的实现listView中item多个控件以及点击事件

阅读更多

public class ProductSearch extends ListActivity {

private static class ProductSearchAdapter extends BaseAdapter { 
 
    private LayoutInflater mInflater; 
    private Bitmap mIcon1; 
    private Bitmap mIcon2; 
 
    public ProductSearchAdapter(Context context) { 
 
        mInflater = LayoutInflater.from(context); 
 
        // Icons bound to the rows. 
        mIcon1 = BitmapFactory.decodeResource(context.getResources(), 
                R.drawable.icon48x48_1); 
        mIcon2 = BitmapFactory.decodeResource(context.getResources(), 
                R.drawable.icon48x48_2); 
    } 
 
    @Override 
    public int getCount() { 
 
        return DATA.length; 
    } 
 
    @Override 
    public Object getItem(int position) { 
 
        return position; 
    } 
 
    @Override 
    public long getItemId(int position) { 
 
        return position; 
    } 
 
    @Override 
    public View getView(final int position, View convertView, 
            ViewGroup parent) { 
        ViewHolder holder; 
        Button btn=null; 
 
        if (convertView == null) { 
            convertView = mInflater.inflate(R.layout.productsearch, null); 
 
            // Creates a ViewHolder and store references to the two children 
            // views 
            // we want to bind data to. 
            holder = new ViewHolder(); 
            holder.text = (TextView) convertView.findViewById(R.id.text); 
            holder.icon = (ImageView) convertView.findViewById(R.id.icon); 
            btn=(Button)convertView.findViewById(R.id.prdsrcbutton); 
            convertView.setTag(holder); 
        } else { 
            // Get the ViewHolder back to get fast access to the TextView 
            // and the ImageView. 
            holder = (ViewHolder) convertView.getTag(); 
        } 
 
        // Bind the data efficiently with the holder. 
        holder.text.setText(DATA[position]); 
        holder.icon.setImageBitmap((position & 1) == 1 ? mIcon1 : mIcon2); 
 
        holder.icon.setOnClickListener(new View.OnClickListener() { 
 
            @Override 
            public void onClick(View v) { 
                Log.i("image", " u clicked on icon Position" + position); 
 
            } 
        }); 
        holder.text.setOnClickListener(new View.OnClickListener() { 
 
            @Override 
            public void onClick(View v) { 
                Log.i("Text", " u clicked on text Position" + position); 
 
            } 
        }); 
 
        btn.setOnClickListener(new View.OnClickListener() { 
 
            @Override 
            public void onClick(View v) { 
                Log.i("Button","U clicked on button"); 
 
            } 
        }); 
 
 
        return convertView; 
    } 
 
    static class ViewHolder { 
        TextView text; 
        ImageView icon; 
    } 
 
    private static final String[] DATA = { "Abbaye de Belloc", 
            "Abbaye du Mont des Cats" }; 
 
} 
 
ListView product_search_list; 
Button srch_btn; 
EditText srch_text; 
 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
 
    super.onCreate(savedInstanceState); 
    setListAdapter(new ProductSearchAdapter(this)); 
    // setContentView(R.layout.productsearch); 
    // getListView().setEmptyView(findViewById(R.id.text)); 
    // srch_text = (EditText)findViewById(R.id.prdsearchtb); 
    // srch_btn = (Button) findViewById(R.id.prdsearchtb); 
    // srch_btn.setOnClickListener(new View.OnClickListener() { 
    //       
    // @Override 
    // public void onClick(View v) { 
    // callProductSearchAdapter(); 
    // 
    // } 
    // }); 
 
} 
 
void callProductSearchAdapter() { 
    setListAdapter(new ProductSearchAdapter(this)); 
} 
 
private void createDialog(String title, String text, final Intent i) { 
    if (i == null) { 
        AlertDialog ad = new AlertDialog.Builder(this).setIcon( 
                R.drawable.alert_dialog_icon).setPositiveButton("Ok", null) 
                .setTitle(title).setMessage(text).create(); 
        ad.show(); 
    } 
} 

}

分享到:
评论
1 楼 KANGOD 2015-07-24  
最后的 -createDialog() 私有方法是怎么回事,没有调用它的地方

相关推荐

    C# ListView中添加多种自定义控件源码

    4. 最后,将自定义的ListViewItem添加到ListView控件中。 ```csharp ListView1.Items.Add(item); ``` 三、添加ComboBox控件 1. 同样,创建一个自定义的ListViewItem类,这次添加ComboBox字段。 ```csharp public ...

    C# ListView中添加ComboBox等控件

    3. **添加Item和SubItems**:为ListView添加项,每个项可以包含多个子项,这些子项将放置ComboBox控件。这可以通过`ListView.Items`和`ListViewItem.SubItems`属性完成: ```csharp ListViewItem item = new ...

    listview的item子控件删除和跳转传值,点击选中

    在ListView的每个item通常包含多个视图元素,比如TextView、ImageView等。如果想要删除某个子控件,你需要在适配器(Adapter)中处理这一逻辑。通常,我们会在适配器的getView()方法中为子控件设置点击事件监听器。当...

    ListView上添加commbox、textbox等控件例子

    这通常通过为ListViewItem添加SubItems实现,但因为ComboBox和TextBox不是ListView的内置子项类型,所以需要使用OwnerDraw模式。在OwnerDraw模式下,我们可以自定义绘制ListView项,实现控件的嵌入。 1. **ComboBox...

    listview item子控件删除跳转,点击更改背景色

    通常,ListView的每个item都是由一个自定义的View(如LinearLayout或RelativeLayout)组成,里面包含多个子视图,如TextView、ImageView等。我们需要为这些子控件设置OnClickListener。在监听器的onClick方法中,...

    安卓listview相关相关-自定义控件实现listView中的图片轮换.rar

    本资源"安卓listview相关相关-自定义控件实现listView中的图片轮换.rar"主要关注如何在ListView的每个Item中实现图片的自动轮换效果。下面将详细阐述这个主题。 1. **ListView基础** - ListView是Android提供的一...

    ListView中嵌入Button ,ListView的item与Button的click事件分别被响应,同时还实现了类似Digg的item点击效果

    本示例中,我们将探讨如何在ListView中嵌入Button,并处理Button的点击事件,同时确保ListView item自身的点击事件也被正确响应。此外,我们还将实现一种类似Digg网站的点击效果,即当用户点击item时,其视觉表现会...

    C#listView控件的使用

    如果需要在ListView中显示多个列,可以使用`Columns`属性: ```csharp listView1.Columns.Add("列1"); listView1.Columns.Add("列2"); ``` 然后,在创建`ListViewItem`时指定各列的文本: ```csharp ListViewItem ...

    自定义listview的item控件

    这个过程涉及到Android的视图复用机制、数据绑定以及事件处理等多个核心知识点。 1. **Adapter原理**: Android的ListView工作基于Adapter模式,它作为数据源与ListView视图之间的桥梁。Adapter负责从数据源(如...

    自定义Checkable控件实现点击ListViewItem选中checkbox

    然而,当需要在ListView的每一项中加入可勾选的checkbox时,我们不能简单地在item布局中添加一个标准的Checkbox,因为这会导致点击事件冲突,用户体验也会受到影响。为了解决这个问题,我们可以自定义一个Checkable...

    Listview控件用法,listview控件,.net控件,.net listview控件用法

    下面将详细介绍ListView控件的使用方法、特性以及如何在.NET环境中进行操作。 1. 添加和删除列 在ListView控件中,数据通常以列的形式展示。你可以通过调用`Columns`属性来添加新的列。例如: ```csharp ...

    ListView Item点击展开隐藏项

    总结来说,实现`ListView`的`Item`点击展开隐藏项涉及到Android UI的多个方面,包括事件处理、视图状态管理和动画效果。通过理解和实践这些技术,你可以创建更加丰富的用户界面,提升用户体验。

    listview selector 选中时改变item 子控件 图片状态

    这个过程涉及到多个关键知识点,包括自定义selector、ListView的Item点击事件以及对子View的操作。 1. **自定义Selector** Android中的Selector是一种Drawable资源,它可以定义不同状态下的显示效果,比如按下、...

    Android中ListView包含多个Item

    本篇将深入讲解如何在Android中创建一个ListView,并实现它包含多个不同类型的Item。 1. **ListView基本结构** ListView由一系列的View(Item)组成,每个View代表数据集中的一个条目。这些Item通过Adapter进行...

    在ListView中横向滑动的控件

    综上所述,实现“在ListView中横向滑动的控件”涉及到对Android原生控件的理解、自定义Adapter、滑动事件的处理以及性能优化等多个方面,对于开发者来说,这是一个挑战但也充满了乐趣。通过学习和实践,你可以创建出...

    android捕获ListView中每个item点击事件

    ### Android捕获ListView中每个item点击事件 在Android开发中,`ListView`是十分常见的UI组件之一,用于显示可滚动的列表数据。当我们在`ListView`中放置一系列的数据项(通常称为item)时,通常还需要为这些item...

    android的ListView点击item使item展开的做法

    在实际应用中,我们经常需要实现点击ListView的某一项(item)时,该item能够展开显示更多的内容,例如子列表或者详细信息。这个功能可以通过自定义ListView的Adapter和设置监听器来实现。下面将详细解释如何实现这...

    2011.08.26——— android ListView之多个item布局

    这篇博客"2011.08.26——— android ListView之多个item布局"深入探讨了如何在ListView中实现多个不同类型的Item布局,这对于创建动态、丰富的用户界面至关重要。在Android应用设计中,ListView通常用于显示如联系人...

    ListView多级展示,item由对象Leaf提供数据,可设置多个控件.rar

    本示例主要讲解如何实现ListView的多级展示,以及如何通过自定义对象Leaf来为每个item提供数据,并支持多个控件的定制化设置。这个压缩包中的内容很可能包含了一个简单的Android项目,包括必要的布局文件、Java代码...

Global site tag (gtag.js) - Google Analytics