Fragment olarak isimlendirilen yapılar, Android mobil uygulamalarda Activity’ler içerisine yerleştirilen ve kullanıcı deneyimi ile cihaz performansını artıran yapılan olarak karşımıza çıkmıştır.
Spinner içerisinde kullanmak üzere sabit bir dizi tanımlayabiliriz. strings.xml içerisine aşağıdaki kodlar eklenebilir:
1 2 3 4 5 | <array name="liste"> <item>Birinci</item> <item>İkinci</item> <item>Üçüncü</item> </array> |
activity_main.xml ismindeki layout dosyasının içeriği şu şekildedir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:layout_gravity="center" tools:context=".MainActivity"> <Spinner style="@style/Widget.AppCompat.DropDownItem.Spinner" android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#CCCCCC" android:popupBackground="#F89450" /> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TextView" /> <FrameLayout android:id="@+id/frameLayot" android:layout_width="match_parent" android:layout_height="match_parent"> </FrameLayout> </LinearLayout> |
MainActivity.java dosyasının içeriği şu şekilde olacaktır:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | package com.teknikakil.fragment; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import android.os.Bundle; import android.text.style.IconMarginSpan; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView; import java.util.List; public class MainActivity extends AppCompatActivity { Spinner spinner; TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner = findViewById(R.id.spinner); textView = findViewById(R.id.textView); ArrayAdapter adapter = ArrayAdapter.createFromResource(this,R.array.liste,R.layout.support_simple_spinner_dropdown_item); adapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { String[] listeDizisi = getResources().getStringArray(R.array.liste); textView.setText(listeDizisi[i] + " seçildi."); switch(listeDizisi[i]) { case "Birinci": getSupportFragmentManager().beginTransaction().replace(R.id.frameLayot, new BirinciFragment()).commit(); break; case "İkinci": getSupportFragmentManager().beginTransaction().replace(R.id.frameLayot, new IkinciFragment()).commit(); break; case "Üçüncü": //Son gösterilen Fragment'ı sil List<Fragment> fragmentList = getSupportFragmentManager().getFragments(); for (Fragment aktifFragment : fragmentList) { if (aktifFragment!=null && aktifFragment.isVisible()) { getSupportFragmentManager().beginTransaction().remove(aktifFragment).commit(); } } break; } } @Override public void onNothingSelected(AdapterView<?> adapterView) { } }); } } |