Где начать код во фрагменте? - PullRequest
0 голосов
/ 31 января 2012

Я не знаю, где я могу поместить код, чтобы начать фрагмент. У меня есть просмотрщик с фрагментами, но они ничего не делают. Например:

У меня есть класс fragmentosacctivity, который инициализирует фрагменты:

    public class FragmentosActivity extends FragmentActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        super.setContentView(R.layout.fragmentos_layout);

        // Paginador
        this.inicializaPaginas();
        //ActionBar
        ActionBar actionBar = getSupportActionBar();
        actionBar.setTitle("Contoles");
        //CirculoProgreso
        setProgressBarIndeterminateVisibility(Boolean.FALSE);       

    }

    //Este metodo inicia todos los fragments
    private void inicializaPaginas() {      

         FragmentAdapter adapter = 
                    new FragmentAdapter(getSupportFragmentManager());
            adapter.addFragment(new Mapa());
            adapter.addFragment(new Cercanos());

            ViewPagerAdapter vadapter = new ViewPagerAdapter( this );

            ViewPager pager =
                (ViewPager)findViewById( R.id.viewpager );
            TitlePageIndicator indicator =
                (TitlePageIndicator)findViewById( R.id.indicator );
            pager.setAdapter( adapter );
            pager.setAdapter( vadapter );
            indicator.setViewPager( pager );

    }

}

Здесь я называю cercanos.class И в церкане у меня есть

public class Cercanos extends ListFragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    if (container == null) {
        return null;
    }

    return (LinearLayout) inflater.inflate(R.layout.cercanos, container, false);

}
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     String[] objetos = {"hola","adios"};
        setListAdapter(new ArrayAdapter<String>(getActivity(),
                 android.R.layout.simple_list_item_1, objetos));

        Parseador.anadedatos(); 
        }

}

Но никогда не входите в метод создания церканов, почему? Я думаю, что я не понимаю для всех использования фрагментов.

Ответы [ 2 ]

1 голос
/ 31 января 2012

это вызывается только в основном действии, а не в представлениях

public class XXX extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
....
}
}

onCreate - это фрагмент жизненного цикла приложения, а не класса или жизненного цикла представления

0 голосов
/ 31 января 2012

Вы можете попробовать переопределить этот метод:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

И поместить здесь код onCreate.

В любом случае, вы можете взглянуть на документацию, потому что фрагменты не имеютsetContentView, находится в макете xml, где вы говорите, какой фрагмент управляет макетом.http://developer.android.com/guide/topics/fundamentals/fragments.html

Надеюсь, это поможет

...