本帖最后由 suhaihui 于 2014-06-15 15:45:14 编辑

解决方案 »

  1.   

    setContentView(R.layout.activity_main);if (savedInstanceState == null) {
    getFragmentManager().beginTransaction()
    .add(R.id.container, new PlaceholderFragment()).commit();
    }
    改为
    setContentView(R.layout.fragment_main);
      

  2.   

    我觉得有可能是:
    你的控件只能在fragment的代码中获取。
      

  3.   

    楼主要搞清楚控件到底在不在activity_main里面,R.id.xxxx,所有页面共用的,对不对要仔细检查
      

  4.   


    控件在fragment_main 里面,我觉得不是这个的问题。因为如果我把按键的监听去掉其它代码照常的话是没错的。
      

  5.   

    楼主真是不可理喻,既然在 fragment_main 里,那就要从加载它得到的  view 上调用 findViewById 
      

  6.   

    该如何修改?
    就是代码在fragment.java中写啊。
      

  7.   

    还有就是,为什么你设置监听器那块出错了呢?
    是因为,你在activity的context里面获取fragment layout中的控件,得到一个null,这里是不会报错的。
    就是说你起了一个名字,你以为这个名字对应着一个人,其实这个名字并不代表任何人。
    然后你想给这个不存在的东西设置监听器,自然就报错了。
    楼主加强基础啊
      

  8.   

    控间加载的位置错了哦,放在PlaceholderFragment这个类中加载。
      

  9.   

    晕,应该是你的BT1空了,你的R.layout.activity_main里面没有R.id.button1.所以当你setOnClickListener的时候就出错了. 你的onClick里面也没指定id,这样不利于找问题,也不利于以后多控件的点击处理
      

  10.   

    BT1=(Button) findViewById(R.id.button1);
    ET1=(EditText) findViewById(R.id.editText1);
    BT1.setOnClickListener(this)
    这些东西写在PlaceholderFragment()这个类里 onCreateView(){}方法里面,findViewById方法前面加上Fragment加载的View。
      

  11.   


    不理解啊!!我是自学的,里面只有一个fragment.xml,没有fragment.java啊!如果说在fragment.xml里面写的话,不知道该如何写。实在不理解啊!能否说详细点?还是我把代码发给你,帮我调试一下?