美好的一天,
我正在开发一个应用程序,它有多个使用ViewPager创建的选项卡,每个选项卡都是一个片段。
请问,如何将片段分成两个布局?一个用于我的个人资料,另一个用于列表视图。
答案 0 :(得分:0)
我对片段不太熟悉,但我认为你可以使用布局填充来夸大你的观点。
因此,您只需创建两个新的XML布局文件并在那里构建UI。我们称他们为public class main {
public static void main(String[]args){
Worker w1 = new Worker ("liran","123",25,80);
System.out.println(w1);
w1.calculateSalary(90);
Department d1 = new Department(5);
d1.setD_NAME("sapir");
d1.setA_BUDGET(20000);
d1.addEmploy("123", "liran", 25, 80);
d1.addEmploy("234", "yosi", 29, 70);
d1.addEmploy("456", "david", 26, 90);
d1.print();
d1.calculateDepartmentSalary();
}
}
和profile
。
在片段的listview
中,获取片段的根视图组。然后,得到一个布局inflater:
onCreate
基本上我在这里做的只是从布局文件中膨胀一些视图,并将膨胀的视图添加到片段的布局中。
答案 1 :(得分:0)
在一个片段中,他们是一个名为onCreateView的方法,它相当于一个Activity的onCreate。你需要声明一个View变量。您将使用它作为rootView并在onCreateView的末尾返回其值。您还需要声明在片段布局中使用的组件。然后在onCreateView方法中初始化这些组件。像这样(我不知道我的简介是什么,所以我只是假设它是一个相对的布局)
public class Fragment1 extends Fragment{
RelativeLayout myProfile;
ListView lv;
View rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_lyt, container, false);
myProfile = (RelativeLayout)rootView.findViewById(R.id.myProfileId);
lv = (ListView)rootView.findViewById(R.id.lvId);
//if you need to use context in a fragment, use getActivity(). its what i use. this well only show your fragment. to add listener, its the same as adding one on an activity.
return rootView;
}
}
答案 2 :(得分:0)
在片段的布局XML中,将根转换为LinearLayout
,垂直orientation
。
在其中添加一个Relative布局和ListView。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<!-- add the elements of your profile here -->
</RelativeLayout>
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"></ListView>
</LinearLayout>