<span style="font-family: Arial, Helvetica, sans-serif;">package com.example.listview;</span>
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import android.os.Bundle;
import android.provider.Contacts.People;
import android.support.v4.widget.SimpleCursorAdapter;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast; public class MainActivity extends Activity {
private ListView listView;
int ItemSelectedId;
List<String>list=new ArrayList<String>(); String path="/sdcard/wifikey/wifikey.txt";//路径在此设置
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); final Button bt=(Button)findViewById(R.id.bt);
final Button bt2=(Button)findViewById(R.id.bt2);
final TextView tv = (TextView)findViewById(R.id.tv); initListView();
listView =(ListView)findViewById(R.id.lv); //由此网上为ListView的数组内容添加 bt.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View arg0) { showListView();
} });
bt2.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Toast.makeText(MainActivity.this, "开发中……", Toast.LENGTH_SHORT).show();
}
}); registerForContextMenu(listView); listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
ItemSelectedId=arg2;
return false;
}
}); } @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater=getMenuInflater();
inflater.inflate(R.menu.menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.deleteTeam:
removeItem(ItemSelectedId);
showListView();
Toast.makeText(MainActivity.this, "删除"+ItemSelectedId, Toast.LENGTH_SHORT).show(); // listView.setAdapter(adapter); break;
case R.id.noteTeam:
Toast.makeText(MainActivity.this, "备注", Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
public void removeItem(int i){
list.remove(i);
showListView();
}
public void showListView(){ ArrayAdapter<String>adapter=new ArrayAdapter<String>(this,
R.layout.list,list); listView.setAdapter(adapter);
}
public void initListView(){
list.add("one");
     list.add("two");

        //去掉android
}
}
<span style="font-size:24px;color:#ff0000;">今天通过写这个demo,又学到很多东西。</span>
<span style="font-size:24px;color:#ff0000;">例如变量,函数名起名非常重要。</span>
<span style="font-size:24px;color:#ff0000;">然后通过onItemLongClickListener()里面的第二个参数传给全局变量ItemSelectedId</span>
<span style="font-size:24px;color:#ff0000;">再通过contextmenu操作list数组的内容,实现ListView的动态管理。</span>

ListView 与ContextMenu的关联管理的更多相关文章

  1. Android实战技巧: ListView之ContextMenu无法弹出

    问题 Activity中使用了ListView作为布局.当每一列表项中含有默认能获取焦点的子View时有可能会对ListView的某些事件有影响: 1. OnItemClick 2. OnItemLo ...

  2. WEB框架-Django框架学习-关联管理器(RelatedManager)

    一.class RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器.它存在于下面两种情况: 1.一对多 ForeignKey关系的“另一边” ...

  3. 关联管理器(RelatedManager)

    一.class RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器.它存在于下面两种情况: 1.一对多 ForeignKey关系的“另一边” ...

  4. Fragment 中 ListView绑定ContextMenu

    package com.example.administrator.imbobo.controller.fragment; import android.content.BroadcastReceiv ...

  5. django ORM中的RelatedManager(关联管理器)

    关联管理器应用在 一对多的表 或者 多对多的表 多对多表中的用法: 在多对多的表中 正向查询 #基于对象的查询 #正查 # author_obj = Author.objects.get(id=1) ...

  6. Django基础五之django模型层之关联管理器

    class RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器.它存在于下面两种情况: ForeignKey关系的“另一边”.像这样: 1 ...

  7. 9 关联管理器(RelatedManager)

    知识预览: class RelatedManager class RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器.它存在于下面两种情况: ...

  8. day 57 Django基础五之django模型层之关联管理器

    Django基础五之django模型层之关联管理器   class RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器.它存在于下面两种情况 ...

  9. 第二十一篇 关联管理器(RelatedManager)

    关联管理器(RelatedManager) lass RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器.它存在于下面两种情况: Forei ...

随机推荐

  1. TeamView 无法捕捉画面问题的解决办法

    teamview是个非常不错的远程协助软件,你要是在项目中还搞个QQ远程协助啥的就显的非常不专业了. 在teamview连接远程后,看到的是一片漆黑,中间框提示"现在无法捕捉画面.这可能是由 ...

  2. EBS系统管理常用SQL语句整理汇总(参考网上资料&其他人博客)

    --1查找系统用户基本信息 SELECT user_id, user_name, description, employeE_id, person_party_id FROM fnd_user; -- ...

  3. UNIX网络编程——UNIX域套接字编程和socketpair 函数

    一.UNIX Domain Socket IPC socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket.虽然网络soc ...

  4. java多线程的编程实例

    java中可有两种方式实现多线程: 一种是继承Thread类: 一种是实现Runnable接口: Thread类 是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的ru ...

  5. 剑指Offer——算法复杂度中的O(logN)底数是多少

    剑指Offer--算法复杂度中的O(logN)底数是多少 前言 无论是计算机算法概论.还是数据结构书中,关于算法的时间复杂度很多都用包含O(logN)这样的描述,但是却没有明确说logN的底数究竟是多 ...

  6. python 远程调度进程服务与客户端

    python 远程调度进程服务与客户端 核心思想: 在本地或远程机器上创建一个进程,提供调度服务.使用了 APScheduler. 安装:APScheduler $ wget https://pypi ...

  7. [EXtJS5学习笔记]第一节 Sencha Cmd 学习笔记 简介 Sencha Cmd是什么

    本文地址: http://blog.csdn.net/sushengmiyan/article/details/38295575 本文作者:sushengmiyan ----------------- ...

  8. jdbcTemplate的queryForList

    jdbcTemplate的queryForList的使用方法如下,它不一样的地方是,它获得的结果,会再放到一个map里去: List rows = jdbcTemplate.queryForList( ...

  9. Oracle EBS R12经验谈(二)

    作者: jianping.ni    时间: 2009-2-13 12:52     标题: Oracle EBS R12经验谈(二) OAF页面:银行帐户开户人LOV值列表无值    在输入 应付超 ...

  10. Linux的资源管理器

    说是资源管理器,其实就是使用命令来对Linux运行系统的参数的查看.下面就一起看一看怎么像在windows下查看资源管理器吧. 1.查看进程(额,自然是电脑上正在运行的进程咯) ps aux 其中a ...