http://www.apkbus.com/android-14306-1-1.html?_dsign=47fb9469
//listview的长按弹出菜单
main_lv.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
menu.add(0, 0, 0, "删除");
menu.add(0, 1, 1, "修改");
}
});
菜单的点击事件,和弹出对话框**
@Override
public boolean onContextItemSelected(MenuItem aItem) {
ContextMenu.ContextMenuInfo menuInfo = (ContextMenu.ContextMenuInfo) aItem.getMenuInfo();
/* / *打开项目的ID,以获取用户选择的内容。* /*/
switch (aItem.getItemId()) {
//CONTEXTMENU_DELETEITEM 赋值为0 代表菜单中第一个被点击
case 0:
/* / *按位置将所选项目从适配器中取出。* /*/
//Bean.StudentListBean favContexted = (Bean.StudentListBean) main_lv.getAdapter().getItem(0);
/* / *从列表中将其删除。* /*/
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 设置提示框的标题
builder.setTitle("提示标题").
// 设置要显示的信息
setMessage("文本的提示信息:真的要删除吗?").
// 设置确定按钮
setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Bean.StudentListBean favContexted2 = (Bean.StudentListBean) main_lv.getAdapter().getItem(0);
studentList.remove(favContexted2);
adapter.notifyDataSetChanged();
}
}).show();
return true; /* true means: "we handled the event". */
//代表菜单中第2个被点击
case 1:
/* / *按位置将所选项目从适配器中取出。* /*/
Bean.StudentListBean favContexted2 = (Bean.StudentListBean) main_lv.getAdapter().getItem(0);
/* / *从列表中将其删除。* /*/
Toast.makeText(this,"111111",Toast.LENGTH_SHORT).show();
/* studentList.remove(favContexted2);
adapter.notifyDataSetChanged();*/
//refreshFavListItems();
return true; /* true means: "we handled the event". */
}
return false;
}
main代码
public class MainActivity extends BaseActivity {
ListView main_lv;
ItemAdapter adapter;
List<Bean.StudentListBean> studentList=new ArrayList<>();
String json;
protected static final int CONTEXTMENU_DELETEITEM = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
json = getJson("info.txt", this);
main_lv=findViewById(R.id.main_lv);
adapter=new ItemAdapter(this,studentList);
main_lv.setAdapter(adapter);
Gson gson=new Gson();
Bean stubean=gson.fromJson(json, Bean.class);
List<Bean.StudentListBean> feedlist=stubean.getStudentList();
studentList.addAll(feedlist);
adapter.notifyDataSetChanged();
//listview的长按弹出菜单
main_lv.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
menu.add(0, 0, 0, "删除");
menu.add(0, 1, 1, "修改");
}
});
}
private void initListView() {
/* Loads the items to the ListView. */
//refreshFavListItems();
/* / *将上下文菜单侦听器添加到ListView。* /*/
main_lv.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu conMenu, View view , ContextMenu.ContextMenuInfo info) {
conMenu.setHeaderTitle("ContextMenu");
conMenu.add(0, 0, 0, "Delete this favorite!");
/* / *添加任意数量的上下文菜单选项。* /*/
/* Add as many context-menu-options as you want to. */
}
});
main_lv.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Toast.makeText(MainActivity.this, "111111111111", Toast.LENGTH_SHORT).show() ;
}
});
}
@Override
public boolean onContextItemSelected(MenuItem aItem) {
ContextMenu.ContextMenuInfo menuInfo = (ContextMenu.ContextMenuInfo) aItem.getMenuInfo();
/* / *打开项目的ID,以获取用户选择的内容。* /*/
switch (aItem.getItemId()) {
//CONTEXTMENU_DELETEITEM 赋值为0 代表菜单中第一个被点击
case 0:
/* / *按位置将所选项目从适配器中取出。* /*/
//Bean.StudentListBean favContexted = (Bean.StudentListBean) main_lv.getAdapter().getItem(0);
/* / *从列表中将其删除。* /*/
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 设置提示框的标题
builder.setTitle("提示标题").
// 设置要显示的信息
setMessage("文本的提示信息:真的要删除吗?").
// 设置确定按钮
setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Bean.StudentListBean favContexted2 = (Bean.StudentListBean) main_lv.getAdapter().getItem(0);
studentList.remove(favContexted2);
adapter.notifyDataSetChanged();
}
}).show();
return true; /* true means: "we handled the event". */
//代表菜单中第2个被点击
case 1:
/* / *按位置将所选项目从适配器中取出。* /*/
Bean.StudentListBean favContexted2 = (Bean.StudentListBean) main_lv.getAdapter().getItem(0);
/* / *从列表中将其删除。* /*/
Toast.makeText(this,"111111",Toast.LENGTH_SHORT).show();
/* studentList.remove(favContexted2);
adapter.notifyDataSetChanged();*/
//refreshFavListItems();
return true; /* true means: "we handled the event". */
}
return false;
}
public static String getJson(String fileName, Context context) {
//将json数据变成字符串
StringBuilder stringBuilder = new StringBuilder();
try {
//获取assets资源管理器
AssetManager assetManager = context.getAssets();
//通过管理器打开文件并读取
BufferedReader bf = new BufferedReader(new InputStreamReader(assetManager.open(fileName)));
String line;
while ((line = bf.readLine()) != null) {
stringBuilder.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return stringBuilder.toString();
}
}