Android开发中,需要的时候就再多一个TextView,怎么实现?
Android开发中,假如我在XML那定义了10个TextView,然后然后用户自己填Text,填满了10个了,怎么办?想要多加一个怎么实现?因为我们开发者不能知道,用户...
Android开发中,假如我在XML那定义了10个TextView,然后然后用户自己填Text,填满了10个了,怎么办?
想要多加一个怎么实现?因为我们开发者不能知道,用户会用多少个,可不可以需要增加的时候就再多一个?当然,下次打开就有这些新建的TextView的。
例如想开发一个记事本的功能,想让用户点新建一个记事的时候,就添加一个TextView,然后保存,下一次打开会有这个TextView。
又例如:短信那里,发了一条短信,短信对话的View那里就多了一个文本框,下次打开短信就有这个文本框 展开
想要多加一个怎么实现?因为我们开发者不能知道,用户会用多少个,可不可以需要增加的时候就再多一个?当然,下次打开就有这些新建的TextView的。
例如想开发一个记事本的功能,想让用户点新建一个记事的时候,就添加一个TextView,然后保存,下一次打开会有这个TextView。
又例如:短信那里,发了一条短信,短信对话的View那里就多了一个文本框,下次打开短信就有这个文本框 展开
3个回答
展开全部
那就不要用xml文件配置了,直接在代码中手动添加布局,至于保存,就应该需要用sharepreference存一下,或者要是有服务端的话,直接从服务端读取
手动布局代码大概这样,在OnCreate里做:
// 构造界面布局
LinearLayout layout = new LinearLayout(Context);
layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
layout.setOrientation(LinearLayout.VERTICAL);
// 初始化TextView(个数用个循环)
TextView tv = new TextView(Context);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
tv.setText(“显示的文字”);
tv.setTextSize(16);
layout.addView(tv);
//添加布局
setContentView(layout);
这样应该就可以了
好像还有个简单的方法(有xml也可以直接在布局上添加):
//获得当前的xml布局
LinearLayout mLinearLayout = new LinearLayout(Context);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
// 初始化TextView(个数用个循环)
TextView addText = new TextView(Context);
addText.setText("显示的文字");
addText.setTextSize(16);
mLinearLayout.addView(addText, params);
试试吧,
手动布局代码大概这样,在OnCreate里做:
// 构造界面布局
LinearLayout layout = new LinearLayout(Context);
layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
layout.setOrientation(LinearLayout.VERTICAL);
// 初始化TextView(个数用个循环)
TextView tv = new TextView(Context);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
tv.setText(“显示的文字”);
tv.setTextSize(16);
layout.addView(tv);
//添加布局
setContentView(layout);
这样应该就可以了
好像还有个简单的方法(有xml也可以直接在布局上添加):
//获得当前的xml布局
LinearLayout mLinearLayout = new LinearLayout(Context);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
// 初始化TextView(个数用个循环)
TextView addText = new TextView(Context);
addText.setText("显示的文字");
addText.setTextSize(16);
mLinearLayout.addView(addText, params);
试试吧,
展开全部
那就不要xml,用一个动态数组保存所有的TextView引用,当10个满了之后,显示一个button,添加点击事件,在事件中new一个TextView,并且将其添加入动态数组,剩下的就是状态保存恢复的问题了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
异步更新主线程实现
追答
很简单
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询