日期更改后的“干净” MainActivity模式

时间:2019-07-12 21:59:02

标签: java android

假设激活应用程序后,日期“ 12.07.2019”将显示在上方的“当前日期”标题中。在介绍了早餐产品之后,我想通过按imageButtonUp更改日期13/07/2019,以便出现相同的活动但没有输入的数据,以便我可以介绍2019年7月13日之后的新产品。在2019年7月13日推出产品之后,然后按imageButtonDown按钮,我想返回上一个日期,在该日期显示我所介绍的产品的日期为12.07.2019。我怎样才能达到这种效果?我是否需要以某种方式将ImageButtonDown和Up与MainActivity连接起来?还是我需要添加一些新活动?因为现在如果我介绍产品,然后按按钮,则日期会更改,但产品保持不变。预先感谢您的每条线索,因为我不知道如何为我的项目完成这项任务。

为了更好地说明这种情况,我展示了main_activity.xml:

enter image description here

编辑:

Sony对于在食品中添加产品的情况没有现成的代码,但是...我想在一个比较平凡的示例中测试这种情况,在该示例中发生类比机制,然后将解决方案移至项目中加上产品。 这是我测试解决方案的示例:

  1. 所以,这是我的activity_main.xml:

enter image description here

这是我的MainActivity.java:

public class MainActivity extends AppCompatActivity {

    TextView textView, textView2, textView3;
    ImageButton imageButtonDown, imageButtonUp;
    Calendar calendar;
    String formattedDate;
    SimpleDateFormat dateFormat;
    Button button;
    private static final int REQUEST_CODE = 1;

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



        textView = findViewById(R.id.textView);
        textView2 = findViewById(R.id.textView2);
        textView3 = findViewById(R.id.textView3);
        imageButtonDown = findViewById(R.id.imageButton1);
        imageButtonUp = findViewById(R.id.imageButton2);
        button = findViewById(R.id.button2);

         calendar = Calendar.getInstance();

         dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
         formattedDate = dateFormat.format(calendar.getTime());

         textView.setText(formattedDate);


        imageButtonDown.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                calendar.add(Calendar.DATE, -1);
                formattedDate = dateFormat.format(calendar.getTime());
                textView.setText(formattedDate);
            }
        });

        imageButtonUp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                calendar.add(Calendar.DATE, +1);
                formattedDate = dateFormat.format(calendar.getTime());
                textView.setText(formattedDate);
            }
        });

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Intent i = new Intent(MainActivity.this, SecondActivity.class);
                startActivityForResult(i, REQUEST_CODE);
            }
        });

    }

    protected void onActivityResult(int requestCode, int resultCode, Intent i) {
        if (resultCode == RESULT_OK && requestCode == REQUEST_CODE) {

            Information information = new Information(i.getStringExtra("day"), i.getIntExtra("deegres", 0));

            textView2.setText(information.getDay());
            textView3.setText(String.valueOf(information.getDegrees_Celsius()));
        }
    }

}

这是我的second_activity.xml:

enter image description here

这是我的SecondActivity.java:

public class SecondActivity extends AppCompatActivity {

    EditText editText1, editText2;
    Button button;

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

        editText1 = findViewById(R.id.editText);
        editText2 = findViewById(R.id.editText2);
        button = findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                sendInformation();
            }
        });

    }

    public void sendInformation() {

        String day = editText1.getText().toString();
        int deegres = Integer.parseInt(editText2.getText().toString());

        Intent i = new Intent();
        i.putExtra("day", day);
        i.putExtra("deegres", deegres);

        setResult(RESULT_OK, i);
        finish();
    }
}

以及其他班级信息:

public class Information {

    private String Day;
    private int degrees_Celsius;


    String getDay() {

        return Day;
    }

    Information(String Day, int degrees_Celsius) {

        this.Day = Day;
        this.degrees_Celsius = degrees_Celsius;
    }

    int getDegrees_Celsius() {

        return degrees_Celsius;
    }
}

在此类似示例中,激活应用程序后,日期12.07.2019将显示在上部标题中。在按“转到SecondActivity”之后,我要转到第二个活动,输入有关日期和摄氏度的信息,然后按“发送信息”按钮,这将帮助我返回MainActivity。该信息将显示在textViews中。然后,在按下imageButtonUp按钮之后,我想更改2019年7月13日的日期并接收相同的活动,但要清除信息,以便从第二天开始输入新数据。最后,在按下imageButtonDown之后,我想返回到较早的日期12/07/2019,但我想查看当天介绍的信息。

0 个答案:

没有答案