RajawaliFragment 不工作?
RajawaliFragment not working?
我想创建一个在其他 GUI 元素(尤其是任务栏)中具有 3D 输出的应用程序。在我使用 RajawaliActivity(教程 1)获得示例后,我无法使用 RajawaliFragment 做同样的事情。
很遗憾,我找不到使用 RajawaliFragment 和稳定版本 0.9 的示例,还有更多内容吗?
我的拉贾瓦利片段:
public class MyFragment extends RajawaliFragment {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyRenderer renderer = new MyRenderer(getActivity());
renderer.setSurfaceView(mSurfaceView);
super.setRenderer(renderer);
}
}
渲染器(名称除外)是示例代码的副本,并且与 RajawaliActivity 一起工作得很好。此外,该片段确实已附加,但渲染器方法的 none 被调用(当然构造函数除外)。
我能够使用 RajawaliExamples 项目中的示例片段之一来工作。
我采取的步骤是:
在我的 MainActivity 中,我扩展了 ActionBarActivity,在我的 onCreate() 中,我能够将片段添加到我的容器中:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
ObjectPickingFragment testFragment = new ObjectPickingFragment();
getFragmentManager().beginTransaction()
.add(R.id.container, testFragment, "testFragment")
.commit();
}
}
- 我的 ObjectPickingFragment 只是示例中的一个示例片段。它继承自 AExampleFragment,但这只是 b/c 我正在处理示例项目。在我的实际代码中,我只有我真正的片段。
整个示例应用程序都使用片段,因此应该可以为您提供一些很好的示例。确保您的 MyRenderer 扩展了 RajawaliRenderer。
我错过的是 onCreateView 方法。我以为这只是我不需要的加载屏幕,所以我省略了它,但我实际上需要做的是:
public class MyFragment extends RajawaliFragment {
public void onCreate(Bundle savedInstanceState) {
// this part was fine
}
public View onCreateView(LayoutInflater i, ViewGroup c, Bundle b) {
return mSurfaceView;
}
}
我想创建一个在其他 GUI 元素(尤其是任务栏)中具有 3D 输出的应用程序。在我使用 RajawaliActivity(教程 1)获得示例后,我无法使用 RajawaliFragment 做同样的事情。
很遗憾,我找不到使用 RajawaliFragment 和稳定版本 0.9 的示例,还有更多内容吗?
我的拉贾瓦利片段:
public class MyFragment extends RajawaliFragment {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyRenderer renderer = new MyRenderer(getActivity());
renderer.setSurfaceView(mSurfaceView);
super.setRenderer(renderer);
}
}
渲染器(名称除外)是示例代码的副本,并且与 RajawaliActivity 一起工作得很好。此外,该片段确实已附加,但渲染器方法的 none 被调用(当然构造函数除外)。
我能够使用 RajawaliExamples 项目中的示例片段之一来工作。
我采取的步骤是:
在我的 MainActivity 中,我扩展了 ActionBarActivity,在我的 onCreate() 中,我能够将片段添加到我的容器中:
public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (savedInstanceState == null) { ObjectPickingFragment testFragment = new ObjectPickingFragment(); getFragmentManager().beginTransaction() .add(R.id.container, testFragment, "testFragment") .commit(); } }
- 我的 ObjectPickingFragment 只是示例中的一个示例片段。它继承自 AExampleFragment,但这只是 b/c 我正在处理示例项目。在我的实际代码中,我只有我真正的片段。
整个示例应用程序都使用片段,因此应该可以为您提供一些很好的示例。确保您的 MyRenderer 扩展了 RajawaliRenderer。
我错过的是 onCreateView 方法。我以为这只是我不需要的加载屏幕,所以我省略了它,但我实际上需要做的是:
public class MyFragment extends RajawaliFragment {
public void onCreate(Bundle savedInstanceState) {
// this part was fine
}
public View onCreateView(LayoutInflater i, ViewGroup c, Bundle b) {
return mSurfaceView;
}
}