[英]Android Navigation drawer fragments
I am working on an Android application that implements a NavigationDrawer. 我正在开发实现NavigationDrawer的Android应用程序。
The NavigationDrawer works fine, so do the fragments transitions but I can't access the Fragment's elements. NavigationDrawer可以正常工作,片段过渡也可以,但是我无法访问Fragment的元素。
Here there is my drawer onItemClick()
listener's code: 这是我的抽屉
onItemClick()
侦听器的代码:
ConfigureFragment configure = new ConfigureFragment();
Button bt;
InFragment in = new InFragment();
OutFragment out = new OutFragment();
ConditioningFragment cond = new ConditioningFragment();
private String lft = null;
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
selectItem(position);
android.app.FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
switch(position){
case 0:
if(lft == null){
transaction.replace(R.id.mainContent,configure,"ConfigureFragment");
transaction.commit();
lft = "ConfigureFragment";
}else{
transaction.replace(fragmentManager.findFragmentByTag(lft).getId(),configure,"ConfigureFragment");
transaction.commit();
lft = "ConfigureFragment";
}
bt = (Button)configure.getView().findViewById(R.id.configure_bt); //throws NullPointerException
break;
case 1:
if(lft == null){
transaction.replace(R.id.mainContent,in,"InFragment");
transaction.commit();
lft = "InFragment";
}else{
transaction.replace(fragmentManager.findFragmentByTag(lft).getId(),in,"InFragment");
transaction.commit();
lft = "InFragment";
}
break;
case 2:
if(lft == null){
transaction.replace(R.id.mainContent,out,"OutFragment");
transaction.commit();
lft = "OutFragment";
}else{
transaction.replace(fragmentManager.findFragmentByTag(lft).getId(),out,"OutFragment");
transaction.commit();
lft = "OutFragment";
}
break;
}
drawerLayout.closeDrawer(Gravity.LEFT);
}
String
variables don't work with operators like, ==
. String
变量不适用于==
等运算符。 You need to use: 您需要使用:
stringVariableOne.equals(stringVariableTwo);
In order to check if the value of one String
variable( stringVariableOne
, in this case) is equal to another String
variable or null
( stringVariableTwo
, in this case). 为了检查一个
String
变量(在这种情况下为stringVariableOne
)的值是否等于另一个String
变量或为null
(在这种情况下为stringVariableTwo
)。
Example: 例:
lft.equals(null);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.