解决方案 »

  1.   

    新版安装SDK文件一开始有两个XML文件,activity_main.xml和fragment_main.xml,
    不习惯的可以这样处理:
    1.删除fragment_main.xml整个文件
    2.对activity_main.xml,删除里面的内容。然后切换到Graphy Layout,放入一个LinearLayout就可以
    3.对MainActivity.java,可以删除下面红色标注的内容,再把MainActivity extends ActionBarActivity 改为MainActivity extends Activity :package com.zmcorp.weightcalculator;import android.support.v7.app.ActionBarActivity;
    import android.support.v7.app.ActionBar;
    import android.support.v4.app.Fragment;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.os.Build;public class MainActivity extends ActionBarActivity {@Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);if (savedInstanceState == null) {
    getSupportFragmentManager().beginTransaction()
    .add(R.id.container, new PlaceholderFragment()).commit();
    }
    }@Override
    public boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    }@Override
    public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
    return true;
    }
    return super.onOptionsItemSelected(item);
    }public static class PlaceholderFragment extends Fragment {public PlaceholderFragment() {
    }@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_main, container,
    false);
    return rootView;
    }
    }}
    还有一种最完全的改造方法就是:把两个XML文件都删除掉,还有默认的JAVA文件也删除掉,自己重新写,当然这种方法不适合初学者。
      

  2.   

    新版安装SDK文件一开始有两个XML文件,activity_main.xml和fragment_main.xml,
    不习惯的可以这样处理:
    1.删除fragment_main.xml整个文件
    2.对activity_main.xml,删除里面的内容。然后切换到Graphy Layout,放入一个LinearLayout就可以
    3.对MainActivity.java,可以删除部分的内容,再把MainActivity extends ActionBarActivity 改为MainActivity extends Activity :
    改后如下:
    package com.zmcorp.weightcalculator;import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.os.Build;MainActivity extends Activity {@Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    }@Override
    public boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    }@Override
    public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
    return true;
    }
    return super.onOptionsItemSelected(item);
    }
    }}
    还有一种最完全的改造方法就是:把两个XML文件都删除掉,还有默认的JAVA文件也删除掉,自己重新写,当然这种方法不适合初学者。
      

  3.   

    我也遇到了同样的问题,如果删除XML文件,重写文件的话,那出这个新版有啥意思呢?是不是新版本里应该提供了取出fragment_main.xml中控件的id的方法
      

  4.   

    当然有方法了,新版是在PlaceholderFragment类里获取fragment_main.xml中的控件View rootView = inflater.inflate(R.layout.fragment_main,container, false);
    //获取Next按钮
    Button btn_Next = (Button) rootView.findViewById(R.id.btn_change_degree);
      

  5.   

    这些都是默认生成的 你要是初学 装回低版本的adt好点 没必要纠结这些
      

  6.   


    在PlaceholderFragment类里面调用非静态函数怎么解??新人初学android,恳求详解
      

  7.   

    我都是都是直接在fragment_main.xml上编写代码的,activity_main.xml文件没有去管它 然后再MainActivity.java文件中,将“setContentView(R.layout.activity_main);”改成“setContentView(R.layout.fragment_main);”然后再屏蔽掉后面的if (savedInstanceState == null) {
    getSupportFragmentManager().beginTransaction()
    .add(R.id.container, new PlaceholderFragment()).commit();
    }
    这样就不会闪退了,小白也不知道什么原因,可能还要按照上面大神说的吧,不过这样好用的,不会闪退
      

  8.   


    但是  public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() {
    } @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_main, container,
    false);
    return rootView;
    }
    }
    仍然有错误啊
      

  9.   


    在PlaceholderFragment类里面调用非静态函数怎么解??新人初学android,恳求详解可以这样解决:Intent intent = getActivity().getIntent();
      

  10.   

    最好的解决办法就是 打开fragment_main.xml   Ctrl+A,  接着 Ctrl+C,
    打开activity_main.xml   Ctrl+A,  接着 Ctrl+V,MainActivity 中  只保留下面的代码
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    }
    }   
    后面的全部不要了
    呼呼
      

  11.   

    在MainActivity类的内部静态类PlaceholderFragment 类中的onCreateView方法中获取fragment_main.xml中控件 public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() {
    } @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_main, container,
    false);
    Button btnFirstButton = (Button) rootView.findViewById(R.id.btn_firstButton);
    btnFirstButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    Toast.makeText(getActivity(), "rootView.findViewById|fragment_main|getActivity| - -#", Toast.LENGTH_LONG).show();
    }
    });
    return rootView;
    }
    }
      

  12.   


    但是  public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() {
    } @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_main container,
    false);
    return rootView;
    }
    }
    仍然有错误啊你把fragment_main删了,然后又inflater.inflate(R.layout.fragment_main container,
    false);引用,怎么会不报错
      

  13.   

    可以直接写在在MainActivity中的 下  或者把fragment_main.xml 删掉 把MainActivity里  onCreate方法里的 if语句删掉  后面的方法都删掉就不会报错了。我也是小白  才学android不久  
      

  14.   

    真心操蛋啊。。删了又在ACTIVITYMAIN里又有错误