二级菜单关联

部分关键代码:
listView.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int position,
					long arg3) {
				// TODO Auto-generated method stub
				final int location=position;
				myAdapter.setSelectedPosition(position);
				myAdapter.notifyDataSetInvalidated();
				subAdapter=new SubAdapter(getApplicationContext(), cities, position);
				subListView.setAdapter(subAdapter);
				subListView.setOnItemClickListener(new OnItemClickListener() {

					@Override
					public void onItemClick(AdapterView<?> arg0, View arg1,
							int position, long arg3) {
						// TODO Auto-generated method stub
						Toast.makeText(getApplicationContext(), cities[location][position], Toast.LENGTH_SHORT).show();
					}
				});
			}
		});

    }

 private void selectDefult(){
	   final int location=0;
	 		myAdapter.setSelectedPosition(0);
	 		myAdapter.notifyDataSetInvalidated();
	 		subAdapter=new SubAdapter(getApplicationContext(), cities, 0);
	 		subListView.setAdapter(subAdapter);
	 		subListView.setOnItemClickListener(new OnItemClickListener() {

	 			@Override
	 			public void onItemClick(AdapterView<?> arg0, View arg1,
	 					int position, long arg3) {
	 				// TODO Auto-generated method stub
	 				Toast.makeText(getApplicationContext(), cities[location][position], Toast.LENGTH_SHORT).show();
	 			}
	 		});
   }
  ListView关键类:
package com.example.multilistview;

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ListView;

public class MyListView extends ListView implements Runnable {
	private float mLastDownY = 0f;
    private int mDistance = 0;
    private int mStep = 10;
    private boolean mPositive = false; 

    public MyListView (Context context, AttributeSet attrs) {
          super(context, attrs);
    } 

    public MyListView (Context context, AttributeSet attrs, int defStyle) {
          super(context, attrs, defStyle);
    } 

    public MyListView (Context context) {
          super(context);
    } 

    @Override
    public boolean onTouchEvent(MotionEvent event) {
         switch (event.getAction()) {
              case MotionEvent.ACTION_DOWN:
                   if (mLastDownY == 0f && mDistance == 0) {
                         mLastDownY = event.getY();
                   return true;
              }
              break; 

    case MotionEvent.ACTION_CANCEL:
           break;

    case MotionEvent.ACTION_UP:
          if (mDistance != 0) {
           mStep = 1;
           mPositive = (mDistance >= 0);
           this.post(this);
           return true;
        }
        mLastDownY = 0f;
        mDistance = 0;
        break; 

    case MotionEvent.ACTION_MOVE:
        if (mLastDownY != 0f) {
              mDistance = (int) (mLastDownY - event.getY());
              if ((mDistance < 0 && getFirstVisiblePosition() == 0 && getChildAt(0).getTop() == 0) || (mDistance > 0 && getLastVisiblePosition() == getCount() - 1)) {
                   mDistance /= 2;
                   scrollTo(0, mDistance);
                   return true;
               }
        }
        mDistance = 0;
        break;
        }
        return super.onTouchEvent(event);
    } 

    public void run() {
          mDistance += mDistance > 0 ? -mStep : mStep;
          scrollTo(0, mDistance);
          if ((mPositive && mDistance <= 0) || (!mPositive && mDistance >= 0)) {
                scrollTo(0, 0);
                mDistance = 0;
                mLastDownY = 0f;
                return;
           }
          mStep += 1;
          this.postDelayed(this, 10);
     }
}

时间: 2024-08-27 22:21:30

二级菜单关联的相关文章

jQuery 二级菜单,一次显示一个小类 鼠标点击显示小类

jQuery 二级菜单,一次显示一个小类 鼠标点击显示小类 本例有另外2个关联案例,演示地址分别为2.php,3.php 演示 XML/HTML Code <div class="arrowlistmenu"> <h3 class="menuheader expandable">表单</h3> <ul class="categoryitems"> <li><a href="

iOS 二级菜单(UITableView实现)

作为iOS 新手 这个东西我捣鼓了一天,主要是没耐心.静下心来其实一会就能摆平. 我总结的经验,宁可精心学一个小时,也别浮躁学1天. 对新手来说主要是各种函数不熟,查询还不好查: 二级菜单网上说得不多,wo 下面来说一下这个二级菜单: 需求是这样的: 1 菜单只有二级. 2 如果有子菜单点一下打开,如果没有,则实现相应的操作: 我们来实现他(界面有点丑,但主要是功能,界面很简单自己设计一下就行): 个人想法是这样的: 首先建立一个cell的类,用于存放cell中的内容 ,继承自uitablevi

根据权限动态生成二级菜单

数据库models设计: from django.db import models """ 一级菜单 """ class Menu(models.Model): title = models.CharField(max_length=32, unique=True) icon = models.CharField(max_length=32, verbose_name="图标", null=True, blank=True)

二级菜单优化功能

二级菜单的功能优化---渐入佳境 功能1:点击其中之一的一级菜单展示其二级菜单,同时其他一级菜单的二级菜单都处于闭合状态 思路:使用jsDOM操作进行实现 HTML示例代码 <div class="multi-menu"> {% for menu in menu_list %} <div class="item"> <div class="title"><i class="fa {{ menu.

RABC权限控制(二级菜单实现)

目前大部分系统由于用户体验,基本上菜单不会做的很深,以二级菜单为例,做了一个简单的权限控制实现,可精确到按钮级别(基于django),下面具体看看实现 1.表结构的设计 无论开发什么都需要先梳理清楚需求,然后再考虑表结构,这里先来说说大致的表结构组成,注意,我的权限控制是通过url做的,所以控制的核心就在于控制url 表字段介绍设计如下: 权限表 url # 权限 title #权限的标题,左侧展示,代表的功能(因为不可能展示url吧) menu # 所属的一级菜单,外键关联一级菜单 paren

input 联动效果灵活运用 二级菜单 同类型筛选(电影排名) 纯CSS3

input 联动效果 input舍弃了输入框,感觉好“好玩”! 二级菜单 贴个我以前做的效果图,一般PC端多用鼠标移入:hover出现二级菜单,input通过鼠标点击出现,PC端和移动端(移动端木有鼠标...)都适用 HTML代码如下: 1 <header> 2 <nav> 3 <input type="checkbox" id="area" class="first"> 4 <p>成都</p

动态生成二级菜单

现在越来越多的用到二级甚至多级菜单,前台菜单的显示,手动指定也越来越不能满足要求,所以,动态生成菜单是必须的 思路 + 示例代码(以二级菜单为例) 先取出一级菜单内容值,接下来遍历一级菜单,将其id当做本次检索的parentid,将与之对应的二级菜单值获取到, 并加入到当前数组中(后台) 二层循环,当获取一个值时,检查其对于的二级菜单项是否有数据,有的话,则输出来,没有则跳过(前台) 以PHP后台为例 $res = mysql_query('*** where parentid = 0');  

jquery实现后台系统左侧菜单的点击展开/收缩二级菜单效果

html: <div class="col-sm-3 col-md-2 sidebar"> <div class="totalt"><a>系统管理系统</a></div> <ul class="menu"> <li class="title"> <a class="item item1"><span cla

html+css二级菜单制作!

二级菜单!!<!DOCTYPE html<html lang="e<head> <meta charset="UTF-8"> <title>Title</title> <style> *{ padding: 0; margin: 0; } .er{ width: auto; background-color: antiquewhite; } a{ text-decoration: none; } .er