Return Custom Dropdownlist with default value based on Spinner
1: package com.voipplus.mmsclient.activities;
2:
3: import android.os.;
4: import android.util.Log;
5: import android.widget.ArrayAdapter;
6:
7: import androidx.activity.EdgeToEdge;
8: import androidx.appcompat.app.AppCompatActivity;
9: import androidx.core.graphics.Insets;
10: import androidx.core.view.ViewCompat;
11: import androidx.core.view.WindowInsetsCompat;
12:
13: import com.google.android.material.tabs.TabLayout;
14: import com.voipplus.mmsclient.R;
15: import com.voipplus.mmsclient.customControls.SpinnerOpen;
16: import com.voipplus.mmsclient.httpService.HTTPService;
17: import com.voipplus.mmsclient.serviceLocalStorage.CryptoStorageService;
18: import com.voipplus.mmsclient.serviceLocalStorage.KeyValueService;
19: import com.voipplus.mmsclient.serviceManager.MyApplication;
20: import com.voipplus.mmsclient.serviceManager.ServiceLocatorReference;
21: import com.voipplus.mmsclient.tabs.TabSwitcher;
22:
23: public class SettingActivity extends AppCompatActivity {
24:
25: private static final String TAG = "SettingActivity";
26: private TabLayout tabLayout;
27: private TabSwitcher tabSwitcher;
28:
29: @Override
30: protected void onCreate( savedInstanceState) {
31: super.onCreate(savedInstanceState);
32: EdgeToEdge.enable(this);
33: setContentView(R.layout.activity_setting);
34:
35: Log.d(TAG, "onCreate: SettingActivity started"); // Log when onCreate is called
36: setTitle("VoipPLUS Setting");
37:
38: // Get the Application instance
39: MyApplication myApp = (MyApplication) getApplication();
40: // Get the ServiceLocator
41: ServiceLocatorReference serviceLocator = myApp.serviceLocator;
42:
43: // Get the services
44: KeyValueService keyValueService = serviceLocator.getService(KeyValueService.class);
45: CryptoStorageService cryptoStorageService = serviceLocator.getService(CryptoStorageService.class);
46: HTTPService httpService = serviceLocator.getService(HTTPService.class);
47:
48: setupSpinner(R.id.resolutionSpinner, R.array.resolution_options);
49: setupSpinner(R.id.framerateSpinner, R.array.framerate_options);
50: setupSpinner(R.id.encryptionSrtpSpinner, R.array.encryption_srtp_options);
51: setupSpinner(R.id.bitstreamSpinner, R.array.bitstream_options);
52: setupSpinner(R.id.dtmfTypeSpinner, R.array.dtmf_type_options);
53: setupSpinner(R.id.callerNameSpinner, R.array.caller_name_options);
54:
55: tabLayout = findViewById(R.id.tabLayout); // Now this will work
56: tabSwitcher = new TabSwitcher(this, tabLayout);
57: tabSwitcher.selectTab(3);
58:
59:
60: ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
61: Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
62: v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
63: return insets;
64: });
65: }
66:
67: private void setupSpinner(int spinnerId, int optionsArrayId) {
68: SpinnerOpen spinner = findViewById(spinnerId);
69: String[] options = getResources().getStringArray(optionsArrayId);
70: ArrayAdapter<CharSequence> adapter = SpinnerOpen.createGenericSpinnerAdapter(this, options);
71: adapter.setDropDownViewResource(R.layout.item_spinner);
72: spinner.setAdapter(adapter);
73: }
74: }
75:
Return
AndroidMosaic context:
Comments (
)
)
Link to this page:
http://www.vb-net.com/AndroidMosaic/Setting.htm
|
|