2 qq 25891913 qq_25891913 于 2016.05.06 08:42 提问

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

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

9个回答

qq_30154313
qq_30154313   2016.05.06 09:08
已采纳

如果 控件宽度是适应屏幕的话 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;

qq_25891913
qq_25891913 亲测可行!谢谢了~
大约 2 年之前 回复
danielinbiti
danielinbiti   Ds   Rxr 2016.05.06 08:59
 把宽度作为参数传入BaseAdapter就行了
q610098308
q610098308   2016.05.06 09:15
 DisplayMetrics dm = new DisplayMetrics();
    ((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(dm);
      screenWidth=dm.widthPixels ;
u013763766
u013763766   2016.05.06 09:15

如果是ListView 和 GridView 可以先设置item 固定item的高宽 背景。。。

baiyuliang2013
baiyuliang2013   2016.05.06 09:32

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

sl_18500
sl_18500   2016.05.06 09:50

new的时候不是有content么,用它

havedream_one
havedream_one   2016.05.06 09:54
zhougan870822
zhougan870822   2016.05.06 10:32

传入参数Context 用context获取

qq_29628249
qq_29628249   2016.05.06 10:37

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
adapter 中获取屏幕宽高并设置条目宽高为其1/3
@Override     public View getView(int position, View convertView, ViewGroup parent) {         ViewHodlerHelper hodler = ViewHodlerHelper.get(mContext, convertView, parent,                 R.layout.
BaseAdapter的工具类
使用这个工具类可以很更方便的使用BaseAdapter来进行ListView页面数据的适配。
Android自定义适配器父类继承BaseAdapter,自定义生成对话框工具类
工作内容: 1.不使用SQLiteHelper获取本地数据库中的表的内容 2.自定义适配器父类 3.自定义生成对话框的工具类 学习分享: 1.不使用SQLiteHelper,直接找到本地数据库文件打开,并获取其中的表内容 SQLiteDatabase  sqliteDatabase = SQLiteDatabase.openOrCreateDatabase(File databaseF
android BaseAdapter中改变某个item的部分布局
类似有道云笔记那种,每条笔记可以插入音频文件,在ListView中呈现。 1、音频文件的显示使用自定义组合控件InsertAudioView,并通过自定义接口audioClickListener,对外暴露一个设置监听的方法setOnAudioClickListener,在该控件的初始化操作中为其设置点击事件。 public void setOnAudioViewClickListener(au
Android Studio——Android获取屏幕宽度的4种方法
原文链接:http://www.androidchina.net/2022.html 方法一: 1 2 3 WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaul
Android-BaseAdapter中重写getview的心得以及发现convertView回收的机制
http://blog.csdn.net/pkxiuluo01/article/details/7380974 以前一直在用BaseAdapter,对于其中的getview方法的重写一直不太清楚。今天终于得以有空来探究它的详细机制。 下面先讲讲我遇到的几个问题: 一.View getview(int position, View convertview, ViewGroup pare
关于BaseAdapter的getView方法的理解
为了节省资源,getView方法可以用convertView来循环显示,当上面的item消失时,它将以新的item从底部重生,充当新的item,这样就起到节省资源的效果。 item0 - item1 - item2- item3,四个item充满屏幕,item0从屏幕上方完全消失,item4将出来,则item4将使用item0作为资源替代。 替代之后item4和item0一模一样,所以
android application中获取屏幕宽度
遇到问题:        要通过一个接口,把手机信息传递给服务器。。。因为一些原因,放在application中最好,但是在oncreat()获取,当时以为是获取不到的。。。但最后网友请教等等,得到答案.       是可以做到的,代码如下: public class MyApplication extends Application{     @Override  
BaseAdapter实现ListView中item上每个控件的获取以及点击
借鉴这位大神的代码,自己稍微修改了一下(其实也没改多少),把源码出来大家看看,刚开始学习android,有很多不懂的地方,望大家多多指教 先来一张效果图,点击任何一个button,获取button的值,具体动作,大家可以自行修改 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/
怎样在继承自BaseAdapter类的adapter中使用Intent跳转到另一个activity
在ListViewAdapter.java类中点击一个按钮来跳转到另一个activity的方法如下所示:   代码如下(BaseAdapter中其他的一些方法省略不写了,只说重点部分): public class ListViewAdapter extends BaseAdapter{ private Context context; private LayoutInflater li