hei*_*erg 5 java android android-fragments android-fragmentactivity
我这里有这个类调用方法setPoint
public class PointsList extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.listpoints, container, false);
public static class PointCreation extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.point_creation, container, false);
setPoint(view, CREATE);
return view;
}
}
static final void setPoint(View view, int goal) {
final EditText SerialField = (EditText) view.findViewById(R.id.Serial);
if(goal == CREATE) {
Button buttonGuardar = (Button) view.findViewById(R.id.buttonGuardar);
buttonGuardar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String Serial = SerialField.getText().toString();
pointsList.add(new Serial);
//go back to R.layout.listpoints
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
我的目标是在单击按钮将新的Serial添加到List后,我可以回到上一个菜单
R.layout.point_creation to R.layout.listpoints
Run Code Online (Sandbox Code Playgroud)
要移动片段我通常使用这样的东西:
Fragment fragment = new PointsList();
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, fragment)
.commit();
Run Code Online (Sandbox Code Playgroud)
但在里面:
static final void setPoint(View view, int goal)
getActivity().getSupportFragmentManager();
Run Code Online (Sandbox Code Playgroud)
不能从静态上下文引用,我不知道如何使静态类非静态?我有一些全局标志,我在静态类中使用它们(有2个),从导出起来有点痛苦
public class PointCreation(int something) extends Fragment
Run Code Online (Sandbox Code Playgroud)
是我不能做的事情.
Vla*_*ich 20
您可以从视图中获取活动:
Activity activity = (Activity)view.getContext()
Run Code Online (Sandbox Code Playgroud)
如果您使用FragmentActivity(似乎是这样),那么将Context转换为FragmentActivity(而不是常规Activity),并且您还可以调用getSupportFragmentManager()
FragmentActivity activity = (FragmentActivity)view.getContext();
FragmentManager manager = activity.getSupportFragmentManager();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18791 次 |
| 最近记录: |