我是Android的新手,发现它很残酷(似乎有无数的细节和依赖要记住)。
Anywho,我让TextSwitcher1示例应用程序工作,它使用ViewSwitcher。我假设ViewSwitcher是要走的路,需要显示地图或表格,用户可以选择,来回切换。
所以我在另一个应用程序中创建了MapActivity,似乎工作正常。接下来整合到主应用程序。所以,打电话 查看v = findViewById(R.layout.mapview); 然后 mSwitcher.addView(V); 除了“v”为空。为什么?我是否创建活动?但我不想表现出来。是否存在“创建活动但隐藏它直到需要”这样的呼叫?还是我在错误的树上吠叫?
感谢您的任何见解。
答案 0 :(得分:1)
对于您在活动中加载的任何视图,findViewById
函数会根据ID资源(View
)返回R.id.something
(使用setContentView(R.layout.main)
)。在示例代码中,您使用的是布局资源(R.layout.mapview
)。您应该对XML文件进行通知,该文件将返回View
,您可以使用该文件添加到ViewSwitcher
。
示例代码:
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = vi.inflate(R.layout.mapview, null);
mSwitcher.addView(v);
但是,您应该能够在XML文件中定义所有内容,而不必手动将页面添加到ViewSwitcher
。以下是有关如何执行此操作的示例代码:http://inphamousdevelopment.wordpress.com/2010/10/11/using-a-viewswitcher-in-your-android-xml-layouts/