Fragment扩展
LiftFragment
用法 :
自定义类继承Fragment
重写oncreate方法,调用selelistAdapter()为list控件赋值
重写onlistItemclick()实现listview的点击事件
listFragment 代码
// An highlighted block
public class Fragment1 extends ListFragment {
String[] str={"北京","上海","广州","天津"};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),R.layout.support_simple_spinner_dropdown_item,str));
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
EventBus.getDefault().postSticky(str[position]);
}
}
适配器
// An highlighted block
public class MyDalog extends DialogFragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.view3,container,false);
}
}
DialogFragment
底层继承Fragment 自带Dialog
用法:
自定义类继承DialogFragment
重写Oncreate方法将自定义布局天冲给Fragment
在主类白这个方法new出来
对象.show(getSupportFragmentManager(),字符串)
要设置在点击事件中
主类代码
// An highlighted block
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=findViewById(R.id.main_button);
final FragmentManager manager=getSupportFragmentManager();
FragmentTransaction transaction=manager.beginTransaction();
Fragment1 fragment1 = new Fragment1();
transaction.add(R.id.main_rela1,fragment1);
Fragment2 fragment2 = new Fragment2();
transaction.add(R.id.main_rela2,fragment2);
transaction.commit();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyDalog myDalog = new MyDalog();
myDalog.show(getSupportFragmentManager(),"dsds");
}
});
pargerAdapter
作用:可以添加出Fragment以外的空间
重写四个方法
getcount
istraomtiateItem
destroyItem
isviewFragmentObject
pagerTablayout:不可点
PagerTitlestrip :可点
用法:
把他们嵌套在Viewpager的标签内
getPagerTitle
这个方法是使用tablayout的时候使用