首页 > 解决方案 > 我在 java 文件中的哪里可以找到我用蓝色圈出的勾号的引用?

问题描述

我想知道我在 java 文件中的哪个位置找到了那个勾号的参考

我想添加一个日期选择器功能,这样当我单击勾选将某个任务添加到存储桶列表时,它将显示该任务的创建日期。

标签: androidandroid-studio

解决方案


package com.tanakadanielphiri.zjutbucketlist.features.addEdit;

import android.content.Context;
import android.os.Bundle;
import android.support.constraint.ConstraintLayout;
import android.support.design.widget.Snackbar;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.AppCompatSpinner;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import com.tanakadanielphiri.zjutbucketlist.R;
import com.tanakadanielphiri.zjutbucketlist.models.Task;
import com.getkeepsafe.taptargetview.TapTarget;
import com.getkeepsafe.taptargetview.TapTargetView;
import butterknife.BindView;
import butterknife.ButterKnife;
import io.realm.Realm;

public class AddEditActivity extends AppCompatActivity {

    public static final String TASK_ID = "taskID";
    private static final String PREF_TUTO_KEY = "prefTuto";

    private Realm realm;
    private AddEditPresenter presenter;
    private ActionBar ab;

    @BindView(R.id.toolbar) Toolbar toolbar;
    @BindView(R.id.container) ConstraintLayout container;
    @BindView(R.id.titleEt) EditText titleEt;
    @BindView(R.id.contentEt) EditText contentEt;
    @BindView(R.id.priority) AppCompatSpinner priority;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_edit);
        ButterKnife.bind(this);
        setSupportActionBar(toolbar);
        realm = Realm.getDefaultInstance();

        // Setup the priorities spinner
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.priorities, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        priority.setAdapter(adapter);

        // Setup the toolbar
        toolbar.inflateMenu(R.menu.menu_add_edit_task);
        ab = getSupportActionBar();

        // Setup the presenter
        presenter = new AddEditPresenter(this, realm);
        presenter.displayTask(getIntent().getStringExtra(TASK_ID));

        // Show the tutorial
        if (!getPreferences(Context.MODE_PRIVATE).getBoolean(PREF_TUTO_KEY, false)) {
            showTutorial();
        }
    }

    public void showTutorial() {
        TapTargetView.showFor(this,
                TapTarget.forToolbarMenuItem(toolbar,
                        R.id.action_save, getString(R.string.save_your_changes),
                        getString(R.string.dont_forget_to_save_your_changes))
                        .dimColor(R.color.primaryText)
                        .drawShadow(true));
        getPreferences(Context.MODE_PRIVATE).edit().putBoolean(PREF_TUTO_KEY, true).apply();
    }

    public void setupView(Task task) {
        if (ab != null) {
            ab.setTitle(task == null ? getString(R.string.add_task) : getString(R.string.edit_task));
            ab.setDisplayHomeAsUpEnabled(true);
        }

        if (task != null) {
            titleEt.setText(task.getTitle());
            contentEt.setText(task.getContent());
            priority.setSelection(task.getPriority());
        }
    }

    public void showError(String err) {
        Snackbar.make(container, err, Snackbar.LENGTH_LONG).show();
    }

    public void goBack() {
        onBackPressed();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_add_edit_task, menu);

        if (!presenter.hasTask()) {
            menu.removeItem(R.id.action_delete);
        }
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                onBackPressed();
                break;
            case R.id.action_save:
                presenter.saveTask(titleEt.getText().toString(), contentEt.getText().toString(), priority.getSelectedItemPosition());
                break;
            case R.id.action_delete:
                presenter.deleteTask();
                break;
        }
        return super.onOptionsItemSelected(item);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        realm.close();
    }
}

推荐阅读