请给我一个linux公社去吧皮卡丘邀请码码

Android 关于ExpandableListView的一个问题解决_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Android 关于ExpandableListView的一个问题解决
来源:Linux社区&
作者:ureygo
客户提出需求,要求分组列表单击一个group其他的group应该关闭,这个group的group标题应该顶头。
我网上大致找了一圈没找到相关的,于是去google group里搜索了下 ,发现有人提出了他的解决方法:
/group/-developers/browse_thread/thread/638f7ae1cb75b710/f38717?lnk=gst&q=setOnGroupClickListener#f38717
受此启发我想出了自己的方法,重写setOnGroupClickListener方法,使用flag控制:
定义flag记录列表状态
int&expandFlag&=&-1;//控制列表的展开&&
重写onGroupClick方法
ExpandableListView&listView&=&getExpandableListView();&&
listView.setOnGroupClickListener(new&OnGroupClickListener()&{&&
&@Override&&
&public&boolean&onGroupClick(ExpandableListView&listView,&View&v,&&
&&&int&groupPosition,&long&id)&{&&
&&if&(expandFlag&==&-1)&{&&
&&&//展开被选的group&&
&&&listView.expandGroup(groupPosition);&&
&&&&&&&&&//设置被选中的group置于顶端&&
&&&&&&&&&listView.setSelectedGroup(groupPosition);&&
&&&&&&&&&expandFlag&=&groupPosition;&&
&&}&else&if&(expandFlag&==&groupPosition)&{&&
&&&listView.collapseGroup(expandFlag);&&
&&&expandFlag&=&-1;&&
&&}&else&{&&
&&&listView.collapseGroup(expandFlag);&&
&&&//展开被选的group&&
&&&listView.expandGroup(groupPosition);&&
&&&&&&&&&//设置被选中的group置于顶端&&
&&&&&&&&&listView.setSelectedGroup(groupPosition);&&
&&&&&&&&&expandFlag&=&groupPosition;&&
&&&&&&&&&&
&&&&&&&&return&&&
经测试完成要求,看起来挺简单的实现,可惜卡了我有两三个小时,主要是没想到这个方法呀,
感谢google group提问和回答的人帮助我开拓了思路。
相关资讯 & & &
& (05月04日)
& (01月20日)
& (06月21日)
& (02月10日)
& (11/01/:38)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款Debian7 wheezy 下设置快捷键打开一个新的终端_Linux教程_Linux公社-Linux系统门户网站
你好,游客
Debian7 wheezy 下设置快捷键打开一个新的终端
来源:Linux社区&
作者:longerzone
最近Debian7发布,刚试完 13.04和Ubuntukylin 13.04的我又心急的装上Debian7 ,看看这个新的支持Gnome、KDE、face等多个桌面的新&玩具&!(对于Debian的命名规则大家应该知道吧?Linux重要分支 Debian的每一个版本代号是以玩具总动员的成员命名的 。)
相关阅读:
U盘安装Debian 7.0 Wheezy
Debian 7.0 Wheezy 发布!
Debian 7.0 Wheezy 测试体验
好了,言归正传,我用习惯了Ubuntu就觉得Ubuntu的最大成功之处是将Linux的桌面化做的非常好,这个不的不说对其他发行版也是很有影响的!很多的发行版现在也很重视这点,比如说Ubuntu下,我们使用Ctrl+Alt+T就能打开一个新的终端,但是来debian7下,只能使用鼠标?当然不是&&
下面我简单说下,打开system setting --& keyboard --& ShortCut
在这里我们需要手动添加一个快捷键,比如说添加一个名为Terminal的,在Command下添加&gnome-terminal&,然后确定,在外面映射快捷键即可&&比如&Ctrl+Alt+T&(貌似我Ubuntu中毒很深阿)
添加个Debian的命名历史吧:(挺好玩的!)
1.1 Buzz 日& 巴斯光年,电影主角之一的太空人& 使用Linux内核2.0
1.2 Rex 日 暴龙
1.3 Bo 日 放羊的女孩
2.0 Hamm 日 小猪扑满
2.1 Slink& 日 玩具狗 APT面世
2.2 Potato& 日 Potato Head先生
3.0 Woody& 日 胡迪,电影主角之一的牛仔
3.1 Sarge 日 绿色塑胶玩具士兵的首领
4.0 Etch 日 玩具黑板
5.0.0 Lenny 日& 望远镜
6.0.0 squeeze& 日& 三只眼睛的绿色大嘴玩具外星人
7.0& Wheezy& 日 发声企鹅玩具& & 目前的稳定版
相关资讯 & & &
& (11月03日)
& (10月09日)
& (11月08日)
& (11月02日)
& (09月09日)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款Android - 实现一个Activity中加载多个menu文件效果_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Android - 实现一个Activity中加载多个menu文件效果
来源:Linux社区&
作者:rongwei84n
有个时候我们需要在一个Activity中实现加载多个menu文件的效果。比如实现如下效果:
&&&&&&&&&&& 1.我们有一个下拉列表,当我们选择第一个下拉项,按menu键的时候弹出第一种菜单;
&&&&&&&&&&& 2.选择第二个下拉项,按menu键的时候弹出第二种菜单。
那我们如何实现这种效果呢?
&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &spinner选择第一项,我们弹出menu1菜单
&&&&&&&&&&&&&&&&&&&&&& spinner选择menu2,我们弹出menu2菜单
一。第一种思路:做两个menu.xml文件,然后在onPrepareOptionsMenu(Menu menu)方法中首先判断spinner的值,然后根据值的不同去加载不同的menu.xml文件。
&&&&&&& 代码:
&&&&&&&& int index = spinner.getSelectedItemPosition();&&&&& &&if (index == 0){&&&&&&&&&& &MenuInflater inflater = getMenuInflater();&&&&&&&&&&& inflater.inflate(R.menu.menu1, menu);&&&&&& }&&&&&& else if (index ==1 ){&&&&&&&&&&& MenuInflater inflater = getMenuInflater();&&&&&&&&&&& inflater.inflate(R.menu.menu2, menu);&&&&&&}
但是实验发现这种方法不行,因为MenuInflater这个类里面的menu值不能减少,只能增加。换句话说,当你第一次选择了index=0,然后点了menu后,选择index=1,再点menu的时候,index=0的menu选择还在里面,而且无法删除。
而且一个activity对应一个menuinflater,所以,这个menuinflater也无法clone(自己试过,不行)。所以,这种方法不行。
二。第二种思路:我后来发现menu有个group子节点,而这个节点有个visible属性,用来显示这个group是否可见。所以我们可以把两个menu文件写在一个文件里面,写成两个group,然后根据spinner的值不同,来控制group的可见即可。
所以代码变成如下:
public boolean onPrepareOptionsMenu(Menu menu) {&&int index = spinner.getSelectedItemPosition();&&if (index == 0){&&&menu.setGroupVisible(R.id.menu1, true);&&&menu.setGroupVisible(R.id.menu2, false);&&}&&else if (index& == 1){&&&menu.setGroupVisible(R.id.menu1, false);&&&menu.setGroupVisible(R.id.menu2, true);&&}&&&}
这样,就达到了效果。
相关资讯 & & &
& (05月04日)
& (01月20日)
& (06月21日)
& (02月10日)
& (11/01/:38)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款Struts2环境搭建以及第一个应用_服务器应用_Linux公社-Linux系统门户网站
你好,游客
Struts2环境搭建以及第一个应用
来源:Linux社区&
作者:howlaa
环境搭建:
1、准备所需的JAR包:
注意,下载的sturts2下有很多的JAR包。不要全部拷过去,因为里面有很多的第三方JAR包。如果没有导入第三方JAR包导入依赖的JAR包,则会报错。
2、在WEB.XML中配置sturts2启动代码:
&?xml version="1.0" encoding="UTF-8"?&&web-app version="2.4" &xmlns="/xml/ns/j2ee" &xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" &xsi:schemaLocation="/xml/ns/j2ee &/xml/ns/j2ee/web-app_2_4.xsd"&&&filter&& &filter-name&struts2&/filter-name& & &filter-class&org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&/filter-class&&!-- 注意在2.1.3以上版本需使用此class --&&&/filter&&&filter-mapping&&!-- 配置url路径 --&& &filter-name&struts2&/filter-name&& &url-pattern&/*&/url-pattern&&&/filter-mapping&
& &welcome-file-list&& & &welcome-file&index.jsp&/welcome-file&& &/welcome-file-list&&/web-app&
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter的init方法会在web-inf/classes下寻找struts.xml配置文件。我们还未建立此文件,因此。下一步我们将建立此文件。
3、建立sturts.xml配置文件
上面说道StrutsPrepareAndExecuteFilter的Init在web-inf/calsses下寻找sturs.xml文件,而我们只需要在src目录下建立此文件即可。编译后会自动输出到classese目录下:
struts.xml配置文件:
&?xml version="1.0" encoding="UTF-8" ?&&!DOCTYPE struts PUBLIC& & "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"& & "http://struts.apache.org/dtds/struts-2.0.dtd"&
&struts&&&/struts&
相关资讯 & & &
& (11月08日)
& (06月09日)
& (06月13日)
& (06月09日)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款使用 Docker/LXC 迅速启动一个桌面系统_Linux教程_Linux公社-Linux系统门户网站
你好,游客
使用 Docker/LXC 迅速启动一个桌面系统
作者:Linux
Docker 是 dotCloud 目前是开源引擎,旨在提供一种应用程序的自动化部署解决方案,简单的说就是,在 Linux 系统上迅速创建一个容器(类似虚拟机)并在容器上部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级,非常方便。因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法。更多的玩法还有大规模 web 应用、数据库部署、持续部署、集群、测试环境、面向服务的云计算、虚拟桌面 VDI 等等。&Docker 使用 Go 语言编写,用 cgroup 实现资源隔离,容器技术采用 LXC. LXC 已经足够成熟,被多个主流 PaaS 服务商采用(比如 dotCloud),国内的一些互联网公司也在用(比如腾讯)。虽然都是企图解决自动化部署方面的问题,Docker 的解决方式有别于我们常提到的 Puppet/Chef,他们虽然走的是不同的路,但也可以拿来一起用。&上面说了 Docker 有很多玩法,下面介绍的玩法是:在服务器上用 docker 创建桌面系统,然后在客户端上通过 ssh 远程连接桌面,可以看作是平民化的 VDI 解决方案。
Docker的搭建Gitlab CI 全过程详解
Docker 和一个正常的虚拟机有何区别?
在 Docker 中使用 MySQL
Docker 将改变所有事情
Docker安装应用( 6.5_x64)
安装 Docker/LXC
如果 Linux kernel 是 3.8 以前的内核,或者内核缺少 aufs 模块需要安装额外的扩展模块:
$ sudo apt-get install linux-image-extra-`uname -r`
安装 lxc-docker:
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:dotcloud/lxc-docker
$ sudo apt-get update
$ sudo apt-get install lxc-docker
运行一个简单系统
运行 docker 就会自动下载一个
镜像(第一次运行才需要下载),并在一个 container(容器)里运行一个 ubuntu 系统(类似虚拟机)和 shell:
$ docker run -i -t ubuntu /bin/bash
在 host 上 ps 一下发现 docker 使用 lxc-start 工具和 /var/lib/docker/containers/&/config.lxc 里的参数启动1个 lxc 容器并运行 /bin/bash 程序:
$ ps aux | grep docker
0:00 lxc-start -n a581df505cb9ea07e93de28d76fc9b4e1ee48b981ce994740efdaa65d0d307a3 -f /var/lib/docker/containers/a581df505cb9ea07e93de28d76fc9b4e1ee48b981ce994740efdaa65d0d307a3/config.lxc -- /sbin/init -g 172.16.42.1 -e HOME=/ -e PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -e DEBIAN_FRONTEND=noninteractive -- /bin/bash /src/startup.sh
运行一个 Hello world
启动一个 ubuntu 系统然后打印 hello world,囧,一个 ubuntu 系统的存在就是为了打印一个 hello world,世界变了,反了,操作系统和应用程序的地位颠倒了~
$ docker run -i -t ubuntu echo hello world
hello world
运行一个 &桌面& 系统
来看看如何启动一个 &桌面& 系统,按照 和开始 build 一个简单的 &桌面系统&:
$ docker build -t vpsee/docker-desktop git:///rogaha/docker-desktop.git
Step 1 : FROM ubuntu:12.10
---& b750fe79269d
Successfully built e5
build 完后就可以用 docker images 命令看到:
$ docker images
REPOSITORY
8dbd9e392a96
3 months ago
131.5 MB (virtual 131.5 MB)
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
8dbd9e392a96
3 months ago
131.5 MB (virtual 131.5 MB)
8dbd9e392a96
3 months ago
131.5 MB (virtual 131.5 MB)
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
ubuntu-12.10
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
ubuntu-quantal
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
ubuntu-quantl
b750fe79269d
3 months ago
24.65 kB (virtual 180.1 MB)
vpsee/docker-desktop
18 minutes ago
12.29 kB (virtual 1.576 GB)
启动这个刚 build 好的 &桌面系统& 吧,注意 a581df505cb9 是这个容器的 ID:
$ docker run -d vpsee/docker-desktop
a581df505cb9
这个系统有自己的内部 IP 地址,外界不能直接访问,所以要想从外界 ssh 登陆的话,需要把它的 ssh 服务端口(22)和 host 上某个端口通过 docker port 命令做个映射,这样访问 host 上的 49153 端口就是访问某个 container 里面的 22 端口了:
$ docker port a581df505cb9 22
查看一下当前运行的容器:
$ docker ps
a581df505cb9
vpsee/docker-desktop:latest
/bin/bash /src/start
24 minutes ago
Up 24 minutes
然后我们可以在 Mac/Linux 客户端上通过 ssh 访问这个 &桌面& 了:
$ ssh -YC -c blowfish docker@192.168.2.45 -p 49153 ./docker-desktop
docker@192.168.2.45's password:
注意上面的 password 是随机生成的(每次创建新系统密码都会变),那密码是什么呢?通过 docker logs 可以找到:
$ docker logs a581df505cb9
User: docker Password: ieFi2iu1Phie
Adding user `docker' to group `sudo' ...
Adding user docker to group sudo
.config/rox.sourceforge.net/
.config/rox.sourceforge.net/ROX-Filer/
.config/rox.sourceforge.net/ROX-Filer/pb_Default
.config/rox.sourceforge.net/ROX-Filer/globicons
.config/rox.sourceforge.net/ROX-Filer/panels
.config/rox.sourceforge.net/ROX-Filer/menus2
.config/rox.sourceforge.net/ROX-Filer/Options
spring-desktop-wallpaper-11085.jpg
docker-desktop
从 Mac 上访问远端桌面的话需要有 X 环境(下载 XQuartz 安装即可);从 Linux 上可以直接访问。登陆后界面如下:
Docker 的详细介绍:Docker 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (12月09日)
& (12月06日)
& (12月12日)
& (12月09日)
& (12月05日)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款

我要回帖

更多关于 去吧皮卡丘邀请码 的文章

 

随机推荐