猿问

次要活动无法从texView获取数据的问题

我的应用程序中有2个活动,我会从第一个活动中获取数据并将其插入第二个活动。

图片:我有2个日期选择器来选择日期范围,我将其保存在texView和texView2上。

http://img.mukewang.com/62ea21cb0001871806511165.jpg

代码: 主要活动


selectDate = (Button) findViewById(R.id.button);date = (TextView) findViewById(R.id.textView);


    selectDate2 = (Button) findViewById(R.id.button2);

    date2 = (TextView) findViewById(R.id.textView2);


    selectDate.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View view) {

            calendar = Calendar.getInstance();

            year = calendar.get(Calendar.YEAR);

            month = calendar.get(Calendar.MONTH);

            dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);

            datePickerDialog = new DatePickerDialog(MainActivity.this,

                    new DatePickerDialog.OnDateSetListener() {

                        @Override

                        public void onDateSet(DatePicker datePicker, int year, int month, int day) {

                            date.setText("Entrada: "+day + "/" + (month + 1) + "/" + year);

                        }

                    }, year, month, dayOfMonth);

            datePickerDialog.show();

        }

    });



    selectDate2.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View view) {

            calendar2 = calendar2.getInstance();

            year2 = calendar2.get(Calendar.YEAR);

            month2 = calendar2.get(Calendar.MONTH);

            dayOfMonth2 = calendar2.get(Calendar.DAY_OF_MONTH);

            datePickerDialog2 = new DatePickerDialog(MainActivity.this,

                    new DatePickerDialog.OnDateSetListener() {

                        @Override

                        public void onDateSet(DatePicker datePicker, int year, int month, int day) {

                            date2.setText("Salida: "+day + "/" + (month + 1) + "/" + year);

                        }

                    }, year2, month2, dayOfMonth2);

            datePickerDialog2.show();

        }

    });


DIEA
浏览 104回答 4
4回答

Cats萌萌

第一个活动中的某个位置 ():MainActivity.javaButton button = findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        Intent intent = new Intent(MainActivity.this, SecondActivity.class);        // Pass some data        // Key "DATE_KEY" is static field from SecondActivity        intent.putExtra(DATE_KEY, "20.03.2019");        startActivity(intent);    }});在第二个活动中():SecondActivity.javapublic class SecondActivity extends AppCompatActivity {    static final String DATE_KEY = "DATE_KEY";    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_second);        // Read passed data - String "20.03.2019"        String date = getIntent().getStringExtra(DATE_KEY);    }}

慕雪6442864

在调用第二个活动时使用,然后在第二个活动中使用将所选值带回第一个活动:startActivityForResultsetResult在第一个活动:void openSecondActivity(){    Intent intent = Intent(context, SecondActivity.class)    startActivityForResult(intent,1004)    }@Override void onActivityResult(int requestCode, int resultCode, Intent data) {        if (requestCode == 1004) {            if (resultCode == Activity.RESULT_OK) {//do something with results           }        super.onActivityResult(requestCode, resultCode, data)    }在第二个活动状态下:void returnResult(String result){Intent returnIntent = new Intent()returnIntent.putExtra("result", result)setResult(Activity.RESULT_OK, returnIntent)finish()}

海绵宝宝撒

试试这个在您的主要活动中buscarButton.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View view) {   startActivity(new Intent(MainActivity.this, json.class).putExtra("extra1",date.getText().toString()).putExtra("extra2",date2.getText().toString()));  }});在 json 活动中if (getIntent().hasExtra("extra1")){    tvJSON.setText(getIntent().getStringExtra("extra1")); } if (getIntent().hasExtra("extra2")){  textView.setText(getIntent().getStringExtra("extra2")); }

牛魔王的故事

根据文档。从 FirstActivity 发送数据:public void sendMessage(View view) {    Intent intent = new Intent(this, SecondActivity.class);    String message = date.getText().toString();    String message2 = date2.getText().toString();    intent.putExtra(EXTRA_MESSAGE, message);    intent.putExtra(EXTRA_MESSAGE_2, message2);    startActivity(intent);}在第二个活动中接收数据:@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_second);    // Get the Intent that started this activity and extract the string    Intent intent = getIntent();    String message = intent.getStringExtra(FirstActivity.EXTRA_MESSAGE);    String message2 = intent.getStringExtra(FirstActivity.EXTRA_MESSAGE_2);    // Capture the layout's TextView and set the string as its text    TextView textView = findViewById(R.id.textView);    textView.setText(message);}
随时随地看视频慕课网APP

相关分类

Python
我要回答