android studio中怎么生成构造方法的快捷键

android studio中怎么生成构造方法的快捷键,第1张

刚开始使用Android Studio时,在创建一个javabean时,很习惯的在JavaBean类中,右键去找生成get,set等选项。但是很遗憾,找不到。

那这边如何快速的set,get或者生成构造函数,生成toString方法

有两种方式:

方式一:Code-->Generate

方式二:通过快捷键Alt+Insert

这时,在d出的对话框中就可以选择你所需要的对应的东东了。

一、对于xml布局方式的都调用

Context context, AttributeSet attrs这两个参数的构造函数

二、android的view构造函数有三个

1、只有参数Context context:这一般都是在程序中直接new 一个view的时候会使用

2、有2个参数Context context, AttributeSet attrs:xml布局方式加载使用,程序中new的方式创建view的方式基本不会使用

3、三个参数Context context, AttributeSet attrs,Style style:这个构造函数暂时没用

创建继承BaseAdapter并实现其抽象方法的类MyListViewAdapter

说明

下面的讲解中,只创建自定义的适配器类,如何使用请参考android中常用控件的使用之ListView

1.创建类MyListViewAdapter

创建类MyListViewAdapter,该类继承BaseAdapter,并实现其抽象方法:

1

2

3

4

int getCount()

Object getItem(int position)

long getItemId(int position)

View getView(int position,View convertView,ViewGroup parent)

getCount需要返回有多少个item,也就是说最会在listview中展示这么多行

getItem需要返回参数position位置的数据

getItemId返回position就行了

2.给MyListViewAdapter类添加成员变量和构造方法

两个成员变量

1

2

List<String>list

Context context

list表示要显示的数据,context变量在生成View对象时需要用到

构造方法:构造方法是为了给两个成员变量赋值

1

2

3

4

public MyListViewAdapter(List<String>list , Context context) {

this.list = list

this.context = context

}

3.给getCount,getItem,getItemId方法添加代码

getCount需要返回有多少个item,也就是说最会在listview中展示这么多行,所以返回list.size

getItem需要返回参数position位置的数据,也就是list中第position项的值list.get(position)

getItemId返回position就行了

1

2

3

4

5

6

7

8

9

10

11

12

13

14

@Override

public int getCount() {

return list.size()

}

@Override

public Object getItem(int position) {

return list.get(position)

}

@Override

public long getItemId(int position) {

return position

}

4.给getView方法添加代码

getView方法是返回位置为position的View对象,第二个参数convertView考虑到资源重用问题,在上下滑动的过程中,需要显示某项的时候才会调用getView方法,而如果有某项被隐藏不显示,就会把不显示那一行的View作为convertView参数传入,如果没有某项被隐藏,convertView值为null。可以通过下面代码中的if(convertView!=null)中的输出来看哪一行被隐藏了。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

@Override

public View getView(int position, View convertView, ViewGroup parent) {

System.out.println("调用getView方法,显示position="+position+"项")

if(convertView!=null){

TextView t = (TextView) convertView.findViewById(R.id.firstTextView)

System.out.println(t.getText())

}else{

LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)

convertView = layoutInflater.inflate(R.layout.item_mylistviewadapter, null)

}

TextView t = (TextView)(convertView.findViewById(R.id.firstTextView))

t.setText(list.get(position))

if(position%2==0)

{

t.setBackgroundColor(Color.WHITE)

}

else{

t.setBackgroundColor(Color.GRAY)

}

return convertView

}

补充:通过xml生成View对象

通过Context对象生成一个LayoutInflater对象

调用LayoutInflater对象的inflate方法生成控件对象,inflate方法的第一个参数为xml文件,第二个参数一般为null。返回值为该xml文件最外层的标签对象。

1

2

LayoutInflater layoutInflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)

LinearLayout convertView =(LinearLayout)layoutInflater.inflate(R.layout.item_mylistvie

源代码下载

pan.baidu.com/s/1ntuQDdv


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11966076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存