Member 12693121 Ответов: 1

Как преобразовать активность во фрагмент для навигационного ящика


1-недельный Новичок Android здесь.
Я разработал некоторые основные действия и хотел реализовать навигационный ящик, но понял, что мне нужно перейти на фрагмент. Любая идея, что я должен делать, учитывая мою основную деятельность.

public class MainActivity extends AppCompatActivity {
    DatabaseReference db;
    FirebaseHelper helper;
    CustomAdapter adapter;
    ListView lv;
    EditText nameEditTxt, destinationEditTxt, originEditTxt;
    public EditText dateEditTxt;
    DatePickerDialog datePickerDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        lv = (ListView) findViewById(R.id.lv);

        //INITIALIZE FIREBASE DB
        db = FirebaseDatabase.getInstance().getReference();
        helper = new FirebaseHelper(db);

        //ADAPTER
        adapter = new CustomAdapter(this, helper.retrieve());
        lv.setAdapter(adapter);
        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                displayInputDialog();
            }
        });}

    public void showPickerDialog() {
        DatePickerDialog dpd = null;
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
            dpd = new DatePickerDialog(MainActivity.this);
            dpd.setOnDateSetListener(new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
                    // here show picked date as you want
                    String date = "year " + i + "\nmonth " + i1 + "\nday " + i2;
                    dateEditTxt.setText(date);
                }
            });
        }

        if (dpd != null)
            dpd.show();
    }

    //DISPLAY INPUT DIALOG
    private void displayInputDialog() {
        Dialog d = new Dialog(this);
        d.setTitle("Add New Request");
        d.setContentView(R.layout.input_dialog);
        nameEditTxt = (EditText) d.findViewById(R.id.nameEditText);
        destinationEditTxt = (EditText) d.findViewById(R.id.destinationEditText);
        originEditTxt = (EditText) d.findViewById(R.id.originEditText);
        dateEditTxt = (EditText) d.findViewById(R.id.dateEditText);
        Button saveBtn = (Button) d.findViewById(R.id.saveBtn);


        dateEditTxt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showPickerDialog();
            }
        });
        //SAVE
        saveBtn.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                //GET DATA
                String name = nameEditTxt.getText().toString();
                String destination = destinationEditTxt.getText().toString();
                String origin = originEditTxt.getText().toString();
                String date = dateEditTxt.getText().toString();
                //SET DATA
                Request s = new Request();
                s.setName(name);
                s.setOrigin(origin);
                s.setDestination(destination);
                s.setDate(date);

                //SIMPLE VALIDATION

                if (name != null && name.length() > 0) {
                    //THEN SAVE
                    if (helper.save(s)) {
                        //IF SAVED CLEAR EDITXT
                        dateEditTxt.setText("");
                        originEditTxt.setText("");
                        destinationEditTxt.setText("");
                        dateEditTxt.setText("");

                        adapter = new CustomAdapter(MainActivity.this, helper.retrieve());
                        lv.setAdapter(adapter);
                    }
                } else {
                    Toast.makeText(MainActivity.this, "No empty fills", Toast.LENGTH_SHORT).show();
                }
            }
        });
        d.show();
    }}


Что я уже пробовал:

Пытался искать учебники, но я действительно не мог понять, и какое-то решение не работало

1 Ответов

Рейтинг:
1

Richard MacCutchan

Видеть Фрагменты / Разработчики Android[^Начните с создания простого теста, чтобы вы могли увидеть, как он работает. Возможно, вам придется перепроектировать существующее приложение, чтобы использовать эту функцию.

Смотреть также Создание навигационного ящика / разработчики Android[^].