The user creates a new page (new activity and xml layout). Saving the user’s page to database. Adding the page to ListVIEw as an item,and launch it when the user
会点击它
在ListVIEw上.
我在这里看到很多关于“动态创建活动”的答案,我明白了
不可能,所以我不知道该怎么做.
用户可以创建的页面数量是无限的,因此必须动态完成.
ListVIEw中每个页面的布局都是相同的.
非常感谢你!!!
解决方法 实际上,没有办法动态创建新活动.但您可以创建同一活动的多个实例.这需要将您的活动的launchMode设置为“standard”或“singletop”.
此外,您可以使用初始化标志让每个实例使用自己的特定布局,从而创建与多个活动完全相同的用户体验:
Intent intent = new Intent(this,MyDynamicActivity.class);Bundle b = new Bundle();b.putInt("LayoutIndex",mode);intent.putExtras(b);startActivity(intent);
活动:
class MyDynamicActivity extends Activity { @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle b = getIntent().getExtras(); int layoutIndex = b.getInt("LayoutIndex"); // and here populate the activity differently based on layoutIndex value }}
但是,如何动态填充活动的不同实例?
嗯,没有简单的方法.例如,您无法创建特定的XML布局文件并将其存储在其中
文件系统,因为XML布局必须以特定格式编译才能由AndroID加载.
您唯一能做的就是从Java代码中按照规则动态设置布局小部件
由用户设置.下面是Java布局生成代码的示例:
linearLayout layout = new linearLayout(this);layout.setGravity(Gravity.CENTER);LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);button button = new button(this);button.setText("My button");layout.addVIEw(button,params); setContentVIEw(layout);
毫无疑问,创建这样一个动态机制将会有很多工作.
总结以上是内存溢出为你收集整理的android – 动态创建活动全部内容,希望文章能够帮你解决android – 动态创建活动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)