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); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步