zoukankan      html  css  js  c++  java
  • ArrayAdapter

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".activity.MainActivity">
    
        <ListView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/listView"></ListView>
    </LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imageView"/>
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/textView"/>
    
    </LinearLayout>
    package com.pingyijinren.helloworld.model;
    
    /**
     * Created by Administrator on 2016/6/2 0002.
     */
    public class Fruit {
        private String name;
        private int imageId;
    
        public Fruit(String name,int imageId){
            this.name=name;
            this.imageId=imageId;
        }
    
        public String getName() {
            return name;
        }
    
        public int getImageId() {
            return imageId;
        }
    }
    package com.pingyijinren.helloworld.adapter;
    
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    import com.pingyijinren.helloworld.R;
    import com.pingyijinren.helloworld.model.Fruit;
    import java.util.List;
    
    /**
     * Created by Administrator on 2016/6/2 0002.
     */
    public class FruitAdapter extends ArrayAdapter<Fruit>{
    
        public FruitAdapter(Context context, int resource, List<Fruit> objects) {
            super(context, resource, objects);
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            Fruit fruit=getItem(position);
            View view;
            ViewHolder viewHolder;
            if(convertView==null){
                view= LayoutInflater.from(getContext()).inflate(R.layout.fruit_item,null);
                viewHolder=new ViewHolder();
                viewHolder.imageView=(ImageView)view.findViewById(R.id.imageView);
                viewHolder.textView=(TextView)view.findViewById(R.id.textView);
                view.setTag(viewHolder);
            }
            else{
                view=convertView;
                viewHolder=(ViewHolder)view.getTag();
            }
            viewHolder.imageView.setImageResource(fruit.getImageId());
            viewHolder.textView.setText(fruit.getName());
            return view;
        }
        class ViewHolder{
            ImageView imageView;
            TextView textView;
        }
    }
    package com.pingyijinren.helloworld.activity;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.ContextMenu;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ListView;
    import android.widget.Toast;
    
    import com.pingyijinren.helloworld.R;
    import com.pingyijinren.helloworld.adapter.FruitAdapter;
    import com.pingyijinren.helloworld.model.Fruit;
    
    import java.util.ArrayList;
    
    public class MainActivity extends AppCompatActivity {
        private ArrayList<Fruit> arrayList;
        private FruitAdapter fruitAdapter;
        private ListView listView;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            arrayList=new ArrayList<Fruit>();
            arrayList.add(new Fruit("苹果",R.mipmap.ic_launcher));
            arrayList.add(new Fruit("香蕉",R.mipmap.ic_launcher));
            fruitAdapter=new FruitAdapter(this,R.layout.fruit_item,arrayList);
    
            listView=(ListView)findViewById(R.id.listView);
            listView.setAdapter(fruitAdapter);
            registerForContextMenu(listView);   //注册上下文菜单
        }
    
        @Override
        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
            super.onCreateContextMenu(menu, v, menuInfo);
            menu.setHeaderTitle("选择操作");
            menu.add(Menu.NONE,Menu.FIRST+1,1,"删除");
            menu.add(Menu.NONE,Menu.FIRST+2,2,"取消");
        }
    
        @Override
        public boolean onContextItemSelected(MenuItem item) {
            AdapterView.AdapterContextMenuInfo adapterContextMenuInfo=(AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
            int positon=adapterContextMenuInfo.position;
            switch (item.getItemId()){
                case Menu.FIRST+1:
                    arrayList.remove(positon);
                    fruitAdapter.notifyDataSetChanged();
                    break;
                case Menu.FIRST+2:
                    Toast.makeText(this,"您点击了取消",Toast.LENGTH_SHORT).show();
                    break;
            }
            return super.onContextItemSelected(item);
        }
    }
  • 相关阅读:
    Android 主题theme说明 摘记
    Android开发 去掉标题栏方法 摘记
    安卓项目五子棋代码详解(二)
    关于 ake sure class name exists, is public, and has an empty constructor that is public
    百度地图3.0实现图文并茂的覆盖物
    android onSaveInstanceState()及其配对方法。
    关于集成科大讯飞语音识别的 一个问题总结
    android 关于 webview 控制其它view的显示 以及更改view数据失败的问题总结
    C# 解析 json Newtonsoft果然强大,代码写的真好
    c#数据类型 与sql的对应关系 以及 取值范围
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/5552837.html
Copyright © 2011-2022 走看看