Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从一个活动获取数据并使用它们?_Java_Android - Fatal编程技术网

Java 如何从一个活动获取数据并使用它们?

Java 如何从一个活动获取数据并使用它们?,java,android,Java,Android,我正在使用日历应用程序,我被卡住了。我有一个活动,其中我获得一些详细信息,然后我希望其他活动在文本视图中显示详细信息。 Ps:我想到了一个“if”命令,如果细节(日、月、年)与所选日期或当前日期匹配,如果没有任何日期被按下,它应该显示具有相同时间细节的事件。请帮忙。谢谢 活动详情: package com.exemple.android.calendar; import androidx.appcompat.app.AppCompatActivity; import android.cont

我正在使用日历应用程序,我被卡住了。我有一个活动,其中我获得一些详细信息,然后我希望其他活动在文本视图中显示详细信息。 Ps:我想到了一个“if”命令,如果细节(日、月、年)与所选日期或当前日期匹配,如果没有任何日期被按下,它应该显示具有相同时间细节的事件。请帮忙。谢谢

活动详情:

package com.exemple.android.calendar;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Editable;
import android.text.InputFilter;
import android.text.Spanned;
import android.text.TextWatcher;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

import org.jetbrains.annotations.NotNull;

public class NewEventActivity extends AppCompatActivity {

    //step 1.A:create objects

    public EditText DayEditText;
    public EditText MonthEditText;
    public EditText YearEditText;
    public EditText StartingHourEditText;
    public EditText StartingMinuteEditText;
    public EditText EndingHourEditText;
    public EditText EndingMinuteEditText;
    public EditText Title;
    public RadioGroup answer1;
    public Button NewEventButton;

    int day, month, year, s_hour, s_min, e_hour, e_min;
    String title;


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


        //Step 1.B: assign objects

        DayEditText = findViewById(R.id.DayEditText);
        MonthEditText = findViewById(R.id.MonthEditText);
        YearEditText = findViewById(R.id.YearEditText);
        StartingHourEditText = findViewById(R.id.StartingHourEditText);
        StartingMinuteEditText = findViewById(R.id.StartingMinuteEditText);
        EndingHourEditText = findViewById(R.id.EndingHourEditText);
        EndingMinuteEditText = findViewById(R.id.EndingMinuteEditText);
        Title = findViewById(R.id.TitleEditText);
        answer1 = findViewById(R.id.Answer1);
        NewEventButton = findViewById(R.id.CreateEventButton);

        DayEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "31")});
        MonthEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "12")});
        YearEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "2030")});
        StartingHourEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "23")});
        StartingMinuteEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "59")});
        EndingHourEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "23")});
        EndingMinuteEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "59")});
        //Step 2: get data into variables

        //Step 2.B: get data and assign
        //PROBLEM: If we just extract, the code won't be run because there's nothing to extract yet. We need a conditional.
        //SOLUTION: Create a condition for pressing the button, and then extract the variables when the button is pressed.

        TextWatcher dayTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                day = Integer.parseInt(DayEditText.getText().toString());
            }
        };
        TextWatcher monthTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                month = Integer.parseInt(MonthEditText.getText().toString());
            }
        };
        TextWatcher yearTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                year = Integer.parseInt(YearEditText.getText().toString());
            }
        };
        TextWatcher titleTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                title = Title.getText().toString();
            }
        };
        TextWatcher s_hourTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                s_hour = Integer.parseInt(StartingHourEditText.getText().toString());
            }
        };
        TextWatcher s_minTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                s_min = Integer.parseInt(StartingMinuteEditText.getText().toString());
            }
        };
        TextWatcher e_minTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                e_min = Integer.parseInt(EndingMinuteEditText.getText().toString());
            }
        };
        TextWatcher e_hourTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                e_hour = Integer.parseInt(EndingHourEditText.getText().toString());
            }
        };

        DayEditText.addTextChangedListener(dayTextWatcher);
        MonthEditText.addTextChangedListener(monthTextWatcher);
        YearEditText.addTextChangedListener(yearTextWatcher);
        Title.addTextChangedListener(titleTextWatcher);
        StartingMinuteEditText.addTextChangedListener(s_minTextWatcher);
        StartingHourEditText.addTextChangedListener(s_hourTextWatcher);
        EndingMinuteEditText.addTextChangedListener(e_minTextWatcher);
        EndingHourEditText.addTextChangedListener(e_hourTextWatcher);

        NewEventButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                answer1.clearCheck();
                Intent agendaPageGoing = new Intent(getApplicationContext(), AgendaActivity.class);
                startActivity(agendaPageGoing);

            }
        });

    }


}
package com.exemple.android.calendar;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CalendarView;
import android.widget.TextView;

import java.sql.Date;
import java.util.Calendar;

public class AgendaActivity extends AppCompatActivity {

    int day2,year2,month2;

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

        final Button showDetails = findViewById(R.id.SeeEventsButton);
        CalendarView calendar = findViewById(R.id.calendarView);
        TextView events = findViewById(R.id.detailsShowTextView);

        Calendar cal = Calendar.getInstance();
        day2 = cal.get(Calendar.DAY_OF_MONTH);
        year2=cal.get(Calendar.YEAR);
        month2=cal.get(Calendar.MONTH);

        calendar.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
           @Override
           public void onSelectedDayChange(@NonNull CalendarView calendarView, int year, int month, int day) {
               year2 = year;
               month2 = month;
               day2=day;
           }
       });


        showDetails.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            //This is the button I was talking about
            }
        });
    }
}
议程活动:

package com.exemple.android.calendar;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Editable;
import android.text.InputFilter;
import android.text.Spanned;
import android.text.TextWatcher;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

import org.jetbrains.annotations.NotNull;

public class NewEventActivity extends AppCompatActivity {

    //step 1.A:create objects

    public EditText DayEditText;
    public EditText MonthEditText;
    public EditText YearEditText;
    public EditText StartingHourEditText;
    public EditText StartingMinuteEditText;
    public EditText EndingHourEditText;
    public EditText EndingMinuteEditText;
    public EditText Title;
    public RadioGroup answer1;
    public Button NewEventButton;

    int day, month, year, s_hour, s_min, e_hour, e_min;
    String title;


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


        //Step 1.B: assign objects

        DayEditText = findViewById(R.id.DayEditText);
        MonthEditText = findViewById(R.id.MonthEditText);
        YearEditText = findViewById(R.id.YearEditText);
        StartingHourEditText = findViewById(R.id.StartingHourEditText);
        StartingMinuteEditText = findViewById(R.id.StartingMinuteEditText);
        EndingHourEditText = findViewById(R.id.EndingHourEditText);
        EndingMinuteEditText = findViewById(R.id.EndingMinuteEditText);
        Title = findViewById(R.id.TitleEditText);
        answer1 = findViewById(R.id.Answer1);
        NewEventButton = findViewById(R.id.CreateEventButton);

        DayEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "31")});
        MonthEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "12")});
        YearEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "2030")});
        StartingHourEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "23")});
        StartingMinuteEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "59")});
        EndingHourEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "23")});
        EndingMinuteEditText.setFilters(new InputFilter[]{new MinMaxFilter("0", "59")});
        //Step 2: get data into variables

        //Step 2.B: get data and assign
        //PROBLEM: If we just extract, the code won't be run because there's nothing to extract yet. We need a conditional.
        //SOLUTION: Create a condition for pressing the button, and then extract the variables when the button is pressed.

        TextWatcher dayTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                day = Integer.parseInt(DayEditText.getText().toString());
            }
        };
        TextWatcher monthTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                month = Integer.parseInt(MonthEditText.getText().toString());
            }
        };
        TextWatcher yearTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                year = Integer.parseInt(YearEditText.getText().toString());
            }
        };
        TextWatcher titleTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                title = Title.getText().toString();
            }
        };
        TextWatcher s_hourTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                s_hour = Integer.parseInt(StartingHourEditText.getText().toString());
            }
        };
        TextWatcher s_minTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                s_min = Integer.parseInt(StartingMinuteEditText.getText().toString());
            }
        };
        TextWatcher e_minTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                e_min = Integer.parseInt(EndingMinuteEditText.getText().toString());
            }
        };
        TextWatcher e_hourTextWatcher = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                e_hour = Integer.parseInt(EndingHourEditText.getText().toString());
            }
        };

        DayEditText.addTextChangedListener(dayTextWatcher);
        MonthEditText.addTextChangedListener(monthTextWatcher);
        YearEditText.addTextChangedListener(yearTextWatcher);
        Title.addTextChangedListener(titleTextWatcher);
        StartingMinuteEditText.addTextChangedListener(s_minTextWatcher);
        StartingHourEditText.addTextChangedListener(s_hourTextWatcher);
        EndingMinuteEditText.addTextChangedListener(e_minTextWatcher);
        EndingHourEditText.addTextChangedListener(e_hourTextWatcher);

        NewEventButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                answer1.clearCheck();
                Intent agendaPageGoing = new Intent(getApplicationContext(), AgendaActivity.class);
                startActivity(agendaPageGoing);

            }
        });

    }


}
package com.exemple.android.calendar;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CalendarView;
import android.widget.TextView;

import java.sql.Date;
import java.util.Calendar;

public class AgendaActivity extends AppCompatActivity {

    int day2,year2,month2;

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

        final Button showDetails = findViewById(R.id.SeeEventsButton);
        CalendarView calendar = findViewById(R.id.calendarView);
        TextView events = findViewById(R.id.detailsShowTextView);

        Calendar cal = Calendar.getInstance();
        day2 = cal.get(Calendar.DAY_OF_MONTH);
        year2=cal.get(Calendar.YEAR);
        month2=cal.get(Calendar.MONTH);

        calendar.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
           @Override
           public void onSelectedDayChange(@NonNull CalendarView calendarView, int year, int month, int day) {
               year2 = year;
               month2 = month;
               day2=day;
           }
       });


        showDetails.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            //This is the button I was talking about
            }
        });
    }
}

您可以使用intent在活动之间传递数据

打开详细视图时放置数据:

Intent intent = new Intent(AgendaActivity.this, NewEventActivity.class);
        intent.putExtra("tag", "put data here");
        startActivity(intent);
Intent intent = getIntent();
        String data = intent.getStringExtra("tag");
在详细信息视图中检索数据:

Intent intent = new Intent(AgendaActivity.this, NewEventActivity.class);
        intent.putExtra("tag", "put data here");
        startActivity(intent);
Intent intent = getIntent();
        String data = intent.getStringExtra("tag");

请你修改一下代码好吗?我真的不明白。有人能准确地发送这个应用程序的代码吗?这是相同的链接!你好这不是一件正确的事情,但我真的很感激你让我走上了正确的道路。现在我成功了!非常感谢你!