сохранение и получение бланков с общими настройками - PullRequest
0 голосов
/ 06 января 2020

У меня проблема с сохранением элементов счетчика в общих настройках. Под проблемой я подразумеваю, что действительно не знаю, как это сделать. Было бы неплохо, если бы кто-то мог на самом деле объяснить это мне, если бы кто-то знал. Заранее спасибо:)

, поэтому я установил свою кнопку 1, чтобы открыть диалог со счетчиком, а в счетчике у меня есть 3 элемента (объявлено в строки. xml). Я должен использовать общие настройки, чтобы установить спиннер в элемент 1: «-» по умолчанию, и если пользователь выбирает пункт 2 «lang1» или «lang2», он должен быть сохранен в приложении. Так что, когда я открою приложение в следующий раз, его на «lang1» или «lang2» зависит от выбора.

Все остальное работает нормально.

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    SharedPreferences sharedpreferences;
    public static final String mypreference = "mypref";

    int spinnerPosition;
    public Button btnTrans, btnSelect,btnInput,btnCheck;
    public TextView tv_title, tv_message;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnSelect= (Button) findViewById(R.id.btnLanguage);
        btnInput = (Button) findViewById(R.id.btnInput);
        btnTrans = (Button) findViewById(R.id.btnTranslate);

        btnTrans.setOnClickListener((View.OnClickListener) this);
        btnInput.setOnClickListener(this);
        btnSelect.setOnClickListener(this);

        Spinner lang_spinner = (Spinner) findViewById(R.id.lang_spinner);

    }

    public void onClick(View v)
        {
        int id=v.getId();

        switch (id){
            case R.id.btnLanguage:

                AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this);
                View mView = getLayoutInflater().inflate(R.layout.language_dialog, null);
                mBuilder.setTitle("select language");
                final Spinner mSpinner = (Spinner) mView.findViewById(R.id.lang_spinner);
                final ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,
                        android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.lang_array));

                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                mSpinner.setAdapter(adapter);
                mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                    SharedPreferences.Editor editor = sharedpreferences.edit();

                    //SELECTING LANGUAGE switch case (translate btn)-
                    @Override
                    public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
                        Object item = adapterView.getItemAtPosition(position);
                        if (item != null) {

                            switch (position) {
                                case 0:
                                    item = "-";
                                    btnTrans.setOnClickListener(new View.OnClickListener() {
                                        @Override
                                        public void onClick(View view) {
                                            Toast.makeText(getApplicationContext(), R.string.nista, Toast.LENGTH_LONG).show();
                                        }
                                    });
                                    break;
                                case 1:
                                    item = "lang1";
                                    btnTrans.setOnClickListener(new View.OnClickListener() {
                                        @Override
                                        public void onClick(View view) {
                                            Toast.makeText(getApplicationContext(), R.string.hrvatski, Toast.LENGTH_LONG).show();
                                        }
                                    });
                                    break;
                                case 2:
                                    item = "lang2";
                                    btnTrans.setOnClickListener(new View.OnClickListener() {
                                        @Override
                                        public void onClick(View view) {
                                            Toast.makeText(getApplicationContext(), R.string.english, Toast.LENGTH_LONG).show();
                                        }
                                    });
                                    break;
                            }

                        }
                        //on selected save

                    }

                    @Override
                    public void onNothingSelected(AdapterView<?> adapterView) {
                        //nothing selected "-"
                    }
                });



1 Ответ

0 голосов
/ 06 января 2020

Я являюсь представителем менее 50, поэтому я публикую здесь ссылку для общего предпочтения https://www.google.com/amp/s/www.geeksforgeeks.org/shared-preferences-in-android-with-examples/amp/

Получите ваш Lang от счетчика и сохраните значение в предпочтении доли.

...