Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android编程实现带有图标的ListView并带有长按菜单效果示例大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_673_0@本文实例讲述了Android编程实现带有图标的ListView并带有长按菜单效果分享给大家供大家参,具体如下:

@H_673_0@@H_748_3@mainActivity.Java

package com.zxl;
import java.util.ArrayList;
import java.util.List;
import org.w3c.dom.ls.LSException;
import android.app.Activity;
import android.os.bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.ListView;
import android.widget.AdapterView.onItemClickListener;
import android.widget.Toast;
public class MainActivity extends Activity implements OnItemClickListener {
  /** Called when the activity is first created. */
  ListView lv;
  List<ListViewItem> items;
  CustomListViewAdapter adapter;
  @Override
  public void onCreate(Bundle savedInstanceStatE) {
    super.onCreate(savedInstanceStatE);
    setContentView(R.layout.main);
    lv=(ListView)findViewById(R.id.listView1);
    items=new ArrayList<MainActivity.ListViewItem>();
    items.add(new ListViewItem(){{
      Thumbnailresource=R.drawable.ic_launcher;
      title="Item1";
      Subtitle="Item1 Description";
    }});
    items.add(new ListViewItem(){{
      Thumbnailresource=R.drawable.ic_launcher;
      title="Item2";
      Subtitle="Item2 Description";
    }});
    items.add(new ListViewItem(){{
      Thumbnailresource=R.drawable.ic_launcher;
      title="Item3";
      Subtitle="Item3 Description";
    }});
    items.add(new ListViewItem(){{
      Thumbnailresource=R.drawable.ic_launcher;
      title="Item4";
      Subtitle="Item4 Description";
    }});
    adapter=new CustomListViewAdapter(this,items);
    lv.setAdapter(adapter);
    registerForContextMenu(lv);
    lv.setOnItemClickListener(this);
  }
  class ListViewItem{
    public int Thumbnailresource;
    public String title;
    public String Subtitle;
  }
  public void onItemClick(AdapterView<?> parent,View view,int position,long id) {
    // TODO Auto-generated method stub
/*   ListViewItem item=items.get(position); //删除
    items.remove(item);
    adapter=new CustomListViewAdapter(this,items);
    lv.setAdapter(adapter);*/
    ListViewItem item=items.get(position);
    Toast.makeText(MainActivity.this,"this is :"+item,Toast.LENGTH_LONG).show();
  }
  @Override
  public void onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuInfo) {
    // TODO Auto-generated method stub
    super.onCreateContextMenu(menu,v,menuInfo);
    menu.add("add");
    menu.add("update");
    menu.add("delete");
  }
  @Override
  public Boolean onContextItemSELEcted(MenuItem item) {
    // TODO Auto-generated method stub
    super.onContextItemSELEcted(item);
    if(item.gettitle()=="add"){
      Toast.makeText(MainActivity.this,"add",Toast.LENGTH_LONG).show();
      items.add(new ListViewItem(){{
        Thumbnailresource=R.drawable.ic_launcher;
        title="Item new";
        Subtitle="Item new Description";
      }});
      adapter=new CustomListViewAdapter(this,items);
      lv.setAdapter(adapter);
    }
    else if(item.gettitle()=="update"){
      //do somthing
    }
    else if(item.gettitle()=="delete"){
      ContextMenuInfo info = item.getMenuInfo();
      AdapterView.AdapterContextMenuInfo contextMenuInfo = (AdapterContextMenuInfo) info;
       // 获取选中行位置
      int position = contextMenuInfo.position;
      ListViewItem itema=items.get(position);
      items.remove(itema);
      adapter=new CustomListViewAdapter(this,items);
      lv.setAdapter(adapter);
    }
    return true;
  }
}

@H_673_0@CustomListViewAdapter.java

package com.zxl;
import java.util.List;
import com.zxl.MainActivity.ListViewItem;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.baseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class CustomListViewAdapter extends BaseAdapter
{
  LayoutInflater inflater;
  List<ListViewItem> items;
  public CustomListViewAdapter(Activity context,List<ListViewItem> items) {
    @L_197_5@;
    this.items = items;
    this.inflater = (LayoutInflater)context.getSystemservice(Context.LAYOUT_INFLATER_serviCE);
  }
  public int getCount() {
    // TODO Auto-generated method stub
    return items.size();
  }
  public Object getItem(int position) {
    // TODO Auto-generated method stub
    return null;
  }
  public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
  }
  public View getView(final int position,View convertView,ViewGroup parent) {
    // TODO Auto-generated method stub
    //items
    ListViewItem item=items.get(position);
    View vi=convertView;
    if(convertView==null)
      vi = inflater.inflate(R.layout.item_row,null);
    ImageView imgThumbnail=(ImageView) vi.findViewById(R.id.imgThumbnail);
    TextView txttitle =(TextView) vi.findViewById(R.id.txttitlE);
    TextView txtSubtitle=(TextView) vi.findViewById(R.id.txtSubtitlE);
    imgThumbnail.setImageresource(item.ThumbnailresourcE);
    txttitle.setText(item.title);
    txtSubtitle.setText(item.SubtitlE);
    return vi;
  }
}

@H_673_0@@H_748_3@main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://scheR_42_11845@as.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical" >
  <TextView
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@String/Hello" />
  <ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layouT_Below="@+id/textView1"
    android:layout_alignParentTop="true" >
  </ListView>
</RelativeLayout>

@H_673_0@item_row.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  android:id="@+id/relativeLayout1"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  xmlns:android="http://scheR_42_11845@as.android.com/apk/res/android"
  android:padding="5dip">
  <ImageView
    android:layout_width="78dip"
    android:layout_height="78dip"
    android:id="@+id/imgThumbnail"
    android:layout_alignParentLeft="true"
    android:layout_centerInParent="true"
    android:layout_marginLeft="-3dip"
    android:scaleType="centerInside">
  </ImageView>
  <TextView
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:layout_height="wrap_content"
    android:text="TextView"
    android:layout_width="wrap_content"
    android:id="@+id/txttitle"
    android:layout_toRightOf="@+id/imgThumbnail"
    android:layout_marginTop="6dip"
    android:layout_marginLeft="6dip">
  </TextView>
  <TextView
    android:layout_height="wrap_content"
    android:text="TextView"
    android:layout_width="wrap_content"
    android:id="@+id/txtSubtitle"
    android:layout_toRightOf="@+id/imgThumbnail"
    android:layouT_Below="@+id/txttitle"
    android:layout_marginTop="3dip"
    android:layout_marginLeft="6dip">
  </TextView>
</RelativeLayout>

@H_673_0@文件结构:

@H_673_0@

Android编程实现带有图标的ListView并带有长按菜单效果示例

Android编程实现带有图标的ListView并带有长按菜单效果示例

@H_673_0@更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android布局layout技巧总结》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作json格式数据技巧总结》、《Android资源操作技巧汇总》及《Android控件用法总结

@H_673_0@希望本文所述对大家Android程序设计有所帮助。

大佬总结

以上是大佬教程为你收集整理的Android编程实现带有图标的ListView并带有长按菜单效果示例全部内容,希望文章能够帮你解决Android编程实现带有图标的ListView并带有长按菜单效果示例所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:菜单