代码如下:
MainActivity
package com.ss.hsx
import android.app.Activity
import android.os.Bundle
import android.widget.ArrayAdapter
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
MyListView listView = (MyListView) findViewById(R.id.listView)
String[] data = new String[] { "第一个", "第二个", "第三个" }
ArrayAdapter<String>adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, data)
listView.setAdapter(adapter)
}
}
MyListView
package com.ss.hsx
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import android.widget.ListView
public class MyListView extends ListView {
View one
public MyListView(Context context) {
super(context)
initHeaderView(context)
}
public MyListView(Context context, AttributeSet attrs) {
super(context, attrs)
initHeaderView(context)
}
public MyListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle)
initHeaderView(context)
}
private void initHeaderView(Context context) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)
one = inflater.inflate(R.layout.one, null)
View two = inflater.inflate(R.layout.two, null)
addHeaderView(one)
addHeaderView(two)
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
//控制第一个头部布局的位置
one.setPadding(0, -1 * one.getHeight()/2, 0, 0)
}
}
RecyclerView作为ListView的替代者有着较好的性能提升,但是有些ListVIew的常用功能却没有提供比如addHeaderView,addFooterView; 作为替代方案,可以通过自定义的Adapter来实现addHeaderView,addFooterView功能,代码如下: public class Hea...你想放几个就放几个,这个事没有问题的。首先:
你在布局文件里面添加两个listview,你可以用layout_weight 这个属性进行控制,比如都给1,然后水平和数值都是fillparent的那么这两个listview就是上下两个
其次:你在activity里面进行实例化这两个listview对象。然后同时设置统一个监听器,因为每个View 都有一个getId()方法,所以可以使用这个方法得到view的id,通过switch进行判断是哪个view,然后做出不同相应!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)