android的textview怎么初始化

我想问一下,textview难道只能用TextViewtextview=(TextView)findViewById(R.id.xxx);的方式获取吗,为什么我这样写te... 我想问一下,textview难道只能用TextView textview = (TextView)findViewById(R.id.xxx);的方式获取吗,为什么我这样写textview根本没有显示出来呢(以下代码写在mainactivity的oncreate函数中):
TextView textView = new TextView(this);
textView.setText("Go Go Go");
textView.setTop(50);
textView.setLeft(50);
textView.setTextSize(24);
textView.setTextColor(Color.BLACK);
textView.setVisibility(View.VISIBLE);
如果我不想把一个view的初始化写进xml里(也就是不想通过findviewbyid方法新建一个view),还有什么办法?
好吧。。事情是这样的。。这个mainactivity已经有了一个view了,我只是希望在这个view的上面覆盖几个textview,这要怎么做到?
展开
 我来答
得意地飙
2013-09-27 · TA获得超过107个赞
知道小有建树答主
回答量:153
采纳率:100%
帮助的人:125万
展开全部
你现在是把它创建出来了,但是没有加到activity上,让它显示到哪儿呢。
最简单的操作是调用setContentView(textView), 这样,这一整个Acitivty就只显示这个TextView了,但实际开发中肯定不这么干。

一般是把一个View加到一个Layout上。每一个Layout比如Linerlayout什么的,都是一个GroupView,都有一个addView(View)的方式。
如果你一整个Activity都不想用find。。。那就初始一个Layout 加到 Ac上,加给layout 加view

public void onCreate(Buddle c) {
super.onCreate(c)

LinearLyaout layout = new LinearLayout(this);

setContentView(layout);

TextView tv = new TextView(this);

.......你的那堆代码

layout.addView(tv);

}
追问
问题有了补充
xiaoliluote
2013-09-27 · TA获得超过361个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:67.4万
展开全部
先说明你上面的代码:
你是实例化了 TextView 类,并没有将它加载到页面上去,所以肯定是不会在界面上显示出来的。

其实你的问题就是希望能在后台生成一个 textview,而不是在xml 里面写一个,这个简单,看代码:
LinearLayout linearLayout=new LinearLayout(Show.this); //创建一个布局管理器
TextView tv=new TextView(Show.this); //创建一个 textview
tv.setText("这是一个新的textview "); //设置textview 的 内容
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
              ViewGroup.LayoutParams.WRAP_CONTENT,
             ViewGroup.LayoutParams.WRAP_CONTENT);
linearLayout.addView(tv,lp);
这样就可以创建一个textview 了。
更多追问追答
追问
问题有了补充
追答
没有太明白你的意思,我可以理解为:你是要改变原有的 view 中的某些textview 吗?
如果是这样,那自然是用 findviewbyid 的方式了。

或者你可以这样,当你做某个操作的时候,你设置你要覆盖的textview 为 setVisibility(xxx.GONE);
然后用我上面说的方式,将你的新的textview 加入到view中去,只需要改变上面的代码中 LinearLayout.LayoutParams lp = xxx.getLayoutParams(); 就可以了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浅浅半4dab
2015-06-10 · TA获得超过617个赞
知道小有建树答主
回答量:352
采纳率:100%
帮助的人:375万
展开全部

有两种方式初始化textView:

  1. 在xml布局中有textView ; textView=(TextView)findViewById(R.id.xxx);

  2. 代码控制:

    LinearLayout linearLayout=new LinearLayout(Show.this); 
    TextView tv=new TextView(Show.this);  

    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
                  ViewGroup.LayoutParams.WRAP_CONTENT,
                   ViewGroup.LayoutParams.WRAP_CONTENT);
    linearLayout.addView(tv,layoutParams );


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1210575921
2013-09-27
知道答主
回答量:70
采纳率:0%
帮助的人:30.7万
展开全部
很简单,new一个textview,用addView把这个textview加进去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友17780d0
2013-09-27 · 超过15用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:20.4万
展开全部
用setContentView(textView);代替setContentView(R.layout.布局);
追问
问题有了补充
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式