解决方案 »

  1.   

    fragment.xml是按钮盒文本框的样式吗?那写个自定义的控件,控件setContentView(R.layout.fragment)
      

  2.   

    我现在想知道Activity_main.xml,fragment_main.xml 中怎么写才可以加上按钮和文本控件
      

  3.   

    只要在fragment_main.xml中加入按钮布局代码就可以显示了。
      

  4.   

    我上面已经加进去了,不能显示,后来又在Activity_main.xml中加入了<fragment />
      

  5.   

    新版安装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文件也删除掉,自己重新写,当然这种方法不适合初学者。
      

  6.   

    5楼说的方法,可以,但是如果不用之前的方式,而是采用这种frame,如何修改呐?
      

  7.   

    myTextview,myButton是在fragment_main.xml中的,在没引进fragment_main.xml之前,你是通过findViewById找不到的。。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);
    TextView myTextview = (TextView)rootView.findViewById(R.id.myTextview);
    Button myButton = (Button)rootView.findViewById(R.id.myButton);
    myTextview.setText("我的第一个TextView");
    myButton.setText("我的第一个Button")
    return rootView;
    }
    }
      

  8.   

    在MainActivity类的内部静态类PlaceholderFragment 类中的onCreateView方法中获取fragment_main.xml中控件 /**
     * A placeholder fragment containing a simple view.
     */
    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 - -#", Toast.LENGTH_LONG).show();
    }
    });
    return rootView;
    }
    }
      

  9.   

    谁能告诉我那两个在activity中怎么关联的?
      

  10.   

    5楼的红色部分是这些
    import android.support.v7.app.ActionBarActivity;
    import android.support.v7.app.ActionBar;
    import android.support.v4.app.Fragment;
    ##################################################
    if (savedInstanceState == null) {
    getSupportFragmentManager().beginTransaction()
    .add(R.id.container, new PlaceholderFragment()).commit();
    }
    ###########################################
    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;
    }
    }
      

  11.   

    我建议按11楼的方法,把
    public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    /*下的这段代码
    TextView myTextview = (TextView)findViewById(R.id.myTextview);    //这里是找不到的
    Button myButton = (Button)findViewById(R.id.myButton);                    //这里是找不到的
    myTextview.setText("我的第一个TextView");
    myButton.setText("我的第一个Button"); */
    //去掉,然后在最后面的函数中添加实现 
    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);
            //在这里添加实现楼主的想法
            TextView myTextview = (TextView)rootView.findViewById(R.id.myTextview);
            Button myButton = (Button)rootView.findViewById(R.id.myButton);    //这样就能找到了
            myTextview.setText("我的第一个TextView");        //这样就能生效了
            myButton.setText("我的第一个Button")
            //添加完毕
            return rootView;
            }
    对应方法,View rootView = inflater.inflate(R.layout.fragment_main, container,false);
    然后通过rootView 来查找findViewById(R.id.myTextview);
      

  12.   

    http://blog.sina.com.cn/s/blog_3e28c8a50101fqvw.html,5楼大大的新浪微博解决了这个问题~找到链接了~
      

  13.   

    是不是你的string.xml中没有对应的<string name=""></string>