Android中,BaseAdapter类中怎么获取屏幕宽度?

问题描述

Android中,BaseAdapter类中怎么获取屏幕宽度?
本人小白,自定义了个MyAdapter继承BaseAdapter,现在想在MyAdapter中获取屏幕宽度,但是该类不是Activity也不是service,WindowManeger获取不到.getSystemService(Context.WINDOW_SERVICE),Resources的getResources();也没有。

解决方案

如果 控件宽度是适应屏幕的话 getView(int position View convertView ViewGroup parent){} 方法中 parent 就可以拿来用

parent.getWidth()

convertView.setLayoutParams(new AbsListView.LayoutParams((int) (parent.getWidth() / 3-5) (int) (parent.getWidth() / 3-5)));
return convertView;

解决方案二:

 把宽度作为参数传入BaseAdapter就行了

解决方案三:

 DisplayMetrics dm = new DisplayMetrics();    ((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(dm);      screenWidth=dm.widthPixels ;

解决方案四:
如果是ListView 和 GridView 可以先设置item 固定item的高宽 背景。。。

解决方案五:
将上下文传进Adapter,如:(Activity context),然后可以通过context获取了

解决方案六:
new的时候不是有content么,用它

解决方案七:
http://www.cnblogs.com/mandroid/archive/2011/04/05/2005525.html

解决方案八:
传入参数Context 用context获取

解决方案九:
adapter适配器中如果你要做操作是必须传一个activity过来的吧 不然getview中怎么设置convertview

时间: 2024-08-30 12:01:56

Android中,BaseAdapter类中怎么获取屏幕宽度?的相关文章

groovy脚本中(非类中)可以使用静态变量吗

问题描述 groovy脚本中(非类中)可以使用静态变量吗 如问题: 在一个groovy脚本中以下代码: static int a = 1; //现在这样是报错 // 业务逻辑 // xxxx a++: 我只希望a初始化一次,注意是在脚本中,不是在定义class中 换句话说,我是想在脚本groovy.lang.Script子类里放静态变量

成员函数-c++中关于类中的函数一些疑问

问题描述 c++中关于类中的函数一些疑问 1.网上看见两种说法,一个是函数放在code area 另一个是instruction area 请问两者一样吗,还是有什么区别 2.创建的对象中是不是有一个指针指向放在那个area的函数,那么函数在那个区域又是怎么存放的呢 3.使用拷贝构造函数的时候,怎么把成员函数拷贝过去,构造函数也要拷贝过去吗 4.创建对象用的是构造函数,那么对象创建好了之后,对象所在的内存中还有构造函数吗(就是说对象还可以使用够早函数吗) 5.还有我想知道,类的域 就是四个点,在

class-为什么说java中一个类中定义两个构造函数。

问题描述 为什么说java中一个类中定义两个构造函数. 为什么说java中一个类中定义两个构造函数.是不是意思就是一个是无参构造函数,一个是有参数的构造函数, 解决方案 构造函数可以定义很多个,如同函数重载,只要参数个数类型不同就可以. 因此无参构造函数只能有一个.至于定义2个,可以是一个无参,一个有参,也可以是2个有参. 解决方案二: oh no, an object can have multiple constructors with different parameters. 解决方案三

jsp-怎么样把action中同一个类中不同的方法数据,有区分的显示在JSP页面中

问题描述 怎么样把action中同一个类中不同的方法数据,有区分的显示在JSP页面中 action中代码: Article articleNext=articleService.getNext(article); Article articlePrev=articleService.getPrev(article); getActionContext().put("nextArticle", articleNext); getActionContext().put("prev

c#-C#中在类中定义变量,为什么不能赋值textbox的值

问题描述 C#中在类中定义变量,为什么不能赋值textbox的值 static int i=convert.toint32(textbox1.text); 这是在类中定义的,但是报错,非静态定义 解决方案 因为textbox1不是静态的,所以不能访问,去掉static 解决方案二: static赋值的变量也必须是static的,

java中File类中的常用的方法

1.创建  boolean createNewFile();在指定路径创建文件,如果文件已经存在,则不创建,返回false.输出流                          对象一旦创建,如果文件存在,则会覆盖.  boolean mkdir():创建一级文件夹  boolean mkdirs():创建多级文件夹 调用该类的一个方法createNewFile(),但是在实际操作中需要注意一些事项,如判断文件是否存在,以及如何向新建文件中写入数据等.  代码如下 复制代码 import j

浅谈java中math类中三种取整函数的区别_java

math类中三大取整函数 1.ceil 2.floor 3.round 其实三种取整函数挺简单的.只要记住三个函数名翻译过来的汉语便能轻松理解三大函数,下面一一介绍 1.ceil,意思是天花板,java中叫做向上取整,大于等于该数字的最接近的整数 例:math.ceil(13.2)=14 math.ceil(-13.2)=-13 2.floor,意思是地板,java中叫做向下取整,小于等于该数字的最接近的整数 例:math.floor(13.2)=13 math.floor(-13.2)=-14

图文讲解Android的ImageView类中的ScaleType属性设置_Android

ScaleType设置图解图文相配很清晰的看出每个属性的效果, 感觉 CENTER_CROP 比较有用,长宽自动适应 ImageView ,整个图片自动缩略填充整个区域且居中显示(高宽不一定是view的尺寸),以前用JS在网页上实现的,在 android上一开始还在想要用java来自己实现这个效果太麻烦了,没想到系统自带方便多了 ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等. 设置的方式包括: 1. 在layout

Android中TelephonyManager类的用法案例详解_Android

本文以案例形式分析了Android中TelephonyManager类的用法.分享给大家供大家参考.具体如下: 目录结构: main.xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="ve