【发布时间】:2019-10-08 11:15:04
【问题描述】:
我正在尝试在 android 中使用 Fragments。
所以在方法“getItem()”进入类“TabAdapter”中,我有:
public Fragment getItem(int position) {
switch (position) {
case 0:
Browse tab1 = new Browse();
return tab1;
case 1:
Create tab2 = new Create();
return tab2;
default:
return null;
}
}
所以,在“Browse”类中,我使用 inflate 将我想要使用的布局放入 TabLayout 片段中:
public class Browse extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_browse, container, false);
return rootView;
}
在这个类中,一个内部类有“onCreate()”方法
public class BrowseInner extends AppCompatActivity{
DBManager db = new DBManager(this);
DBManager.DatabaseHelper dbh = new DBManager.DatabaseHelper(this);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("TRYTOSTAMP");
setContentView(R.layout.activity_browse);
Cursor cursor = dbh.giveAllItemFromDB();
... //"and all the logics to interact with layout"...
}
但是,通过这种方式,我只有 Fragment TabLayout 中的布局,因为它是在 .xml 设计中定义的,但我无法与之交互(查询未处理,因此布局中的字段未填充,一个未调用按钮上的事件等等...) 我在哪里做错了? 提前致谢。
【问题讨论】:
-
new DBManager(this);不要在调用onCreate之前使用this。
标签: android android-fragments android-tablayout android-inflate fragment-oncreateview