Soru & Cevap

Sliding Menü Yapımında Yeni Layouta Geçiş Yapamıyorum..

20.12.2014 - 12:12

Merhabalar. Bir proje ödevim var ve sliding menü stilini kullanıyorum. Şurada anlatıldığı gibi: http://www.obenplus.com/blog/navigation-drawer-kullanarak-sliding-menu-hazirlamak/

Sol taraftan bu menüyü çekip menü başlıklarını görüyorum ve tıklıyorum yeni sayfa geliyor. Fakat o yeni gelen sayfada bi buton oluşturduğumda başka sayfaya geçiş yaptıramıyorum. ClickOnListener kodumu nereye ekleyeceğimi bilemiyorum daha doğrusu. MainActivity'e mi yoksa o sayfanın Fragment'inin içine mi ekleyeceğim ve hangi kısmına nasıl ekleyeceğimi anlayamyorum..Yardım edebilir misiniz..

 

Anlatmak istediğim resimli olarak da göstereyim..

Görsel kaldırıldı.

Görsel kaldırıldı.

 

4 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user sirjoe
sirjoe
08.03.2015 - 01:06

FragmentTransaction değilde ben şu şekilde yapıldığını biliyorum...

 

Fragmentinize gelin ve şu kodları yazın :

 

[code]

Button buton;

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

        View v = inflater.inflate(R.layout.anasayfa_fragment, container, false);
        return v;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        buton = (Button) getActivity().findViewById(R.id.buton1);
        buton.setOnClickListener(this);


    }

 

// SOnra OnClick methodunu implement edin ..

//Daha sonra Onclick methodu altında şu şekilde butona click vericeksiniz ...

@Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.buton1;

                startActivity(new Intent("android.intent.action.ANASAYFA"));

                break;
        }
    }
}

[/code]

 

    

picture-31404-1421919825.png
muhcob
20.12.2014 - 03:16

Fragment transaction işlemi ile yeni sayfaya geçiş yapabilirsin. Bu işlem için aşağıdaki kodu kullanabilirsin.

FragmentManager fm = getFragmentManager(); 

Fragment fragment = new Fragment();

FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.container, fragment);
ft.commit();

Açıklama:

1-"MainActivity" Activity'den türetildiyse yukarıdaki gibi getFragmentManager() kullanmalısın. ActionBarActivity'den türetildiyse "getSupportFragmentManger" kullanmalısın.

2-"R.id.container" kısmına "main.xml"(ya da hangi xml'i kullanıyorsan) içerisindeki fragmentları eklediğin FrameLayout'un id'sini yazmalısın.

3-"fragment" kısmına hangi fragment'ın açılmasını istiyorsan onu yazmalısın.

4-Son olarak Fragment, FragmentManager ve FragmentTransaction için v4 olanları import etmelisin.

import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.Fragment;

Osman
20.12.2014 - 05:51
Çok teşekkürler cevabınız için, Android'de çok çok yeniyim.. MainActivity Activity'den türetilmiş. Bu yazdığınız kodları MainActivity kısmına mı yazmam gerekiyor yoksa o buton PhotosFragment'in içinde olduğu için Photos Fragmentine mi yazıcam yoksa yeni bir Fragment oluşturup mu yazıcam birde hangi kısmına yazıcam. Biliyorum çok soru soruyorum, ama çok bunaldım projemi tamamlamak üzereyim ama sırf bi butona tıklayıp yeni bir sayfaya geçiş yapamadığımdan projem takıldı kaldı. Button için clickOnListener falan eklemem gerekmiyor mu birde...
Muhammed ÇOBANOĞLU
20.12.2014 - 07:37
onClick olayının tetiklendiği yere bu kodu ekleyebilirsin. Fragment olarak da buton click olduğunda hangi fragment'ın açılmasını istiyorsan eklemelisin.