最新版的android 怎么对MainActivity.java中怎么对fragment_main.xml中的组件进行操作

privateButtonbutton;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.on... private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

button = (Button) this.findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

}
});

像这样写会报出button空指针
button是在fragment_main.xml中定义的
求大神指教在MainActivity.java中对fragment_main.xml中的组件进行操作的方法
展开
 我来答
夜魅_佩
2014-03-30 · 超过33用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:67.8万
展开全部
只有一个错误,就是button要在activity_main.xml中定义,以为你加载的是R.layout.activity_main

我知道你说的这种情况,就是新建的工程会有两个文件目录,是吧?其实,可以完全按以前的操作就行,不要管多出来的另一个目录 好像是v7版本的支持框架。也不要删除或者关闭,否则会报错,就在activity_main.xml中定义所用 视图组件就行了,然后再onCreate()方法中加载。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
澍哥好
推荐于2016-09-30 · TA获得超过386个赞
知道小有建树答主
回答量:379
采纳率:100%
帮助的人:359万
展开全部
你在onStart()方法中这样写就行了
fragment为你activity中添加的fragment对象,button=(Button)fragment.getView().findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

}
});

你这样就不会报错了
追问
fragment对象怎么在activity中获得??
追答
那个是你自己创建的啊, 你在oncreate()中创建的时候把他保存为全局变量就行了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自浮山舞尽霓裳的铁树
2014-03-30 · TA获得超过212个赞
知道小有建树答主
回答量:239
采纳率:0%
帮助的人:121万
展开全部
为什么不在Fragment的类里面去操作呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式