您的位置:首页 > 其它

ScorllVie与ListView的嵌套问题

2016-04-29 15:03 239 查看
解决方法1:动态设置listview的高度

package fragment;

import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;

import com.example.lxy.yiyuangou.R;

import adapter.HomeCarAdapter;
import base.BaseActivity;
import base.BaseInteface;

/**
* Created by 栾绪业 on 2016/04/25.
*/
public class CarFragment extends Fragment implements BaseInteface{
private BaseActivity act ;
private ListView mListView ;

@Override
public void onAttach(Context context) {
super.onAttach(context);
act = (BaseActivity) context;
}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_car,null);

}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initViews();
initDatas();
initViewOper();
}

@Override
public void initViews() {
mListView = (ListView) act.findViewById(R.id.aaa);
mListView.setAdapter(new HomeCarAdapter(act));
setListViewHeightBasedOnChildren(mListView);
}

@Override
public void initDatas() {

}

@Override
public void initViewOper() {

}

public void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}

int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}

ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight
+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
((ViewGroup.MarginLayoutParams) params).setMargins(10, 10, 10, 10);
listView.setLayoutParams(params);
}
}


解决方法2:拦截listview的的滑动处理

解决方法3:使用listview代替scorllview
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: