无法在警报对话框上显示其他对象数据

问题描述

当我点击一个独特的任务时,我无法让我的警报对话框显示不同的数据。当我创建一个新任务时,它只显示新任务数据,而完全忽略以前创建的任务。我创建了一个 Parcelable 类和发送数据所需的所有部分,但我有点卡住了。

import Router from "next/router";
import { Modal } from "react-responsive-modal";

export default function SignupPage() {
  return (
    <Modal center blockScroll open onClose={() => Router.push("/")}>
      <p>Signup</p>
    </Modal>
  );
}

我的展示类

public class MainActivity extends AppCompatActivity {

    TextView total_Tasks;
    TextView name_of_Task;
    TextView current_Date;
    TextView task_Priority;
    ArrayList<String> tasks = new ArrayList<>();
    ArrayList<String> dateCalender = new ArrayList<>();
    int increment_Task = 0;

    final static public int REQ_CODE = 100;
    final static public String TASK = "TASK";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle("To Do List");


        total_Tasks = findViewById(R.id.total_Task);
        name_of_Task = findViewById(R.id.task_Nameid);
        current_Date = findViewById(R.id.task_dateId);
        task_Priority = findViewById(R.id.task_Priorityid);


        if(tasks.size() <= 0){
        total_Tasks.setText("");
        name_of_Task.setText("None");
        current_Date.setText("");
        task_Priority.setText("");
        }

        else if(tasks.size() > 0){
            for(String i : tasks){
                increment_Task++;
            }
            total_Tasks.setText("You have " + increment_Task + " tasks.");
        }

        findViewById(R.id.create_Task).setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v){
             Intent intent = new Intent(MainActivity.this,CreateTaskActivity.class);
             startActivityForResult(intent,REQ_CODE);


            }
        });



        findViewById(R.id.view_Tasks).setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("Select Task");

                builder.setItems(tasks.toArray(new String[0]),new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog,int which) {

                          Intent intent = new Intent(MainActivity.this,displayTask.class);
                                    intent.putExtra(TASK,new Task(name_of_Task.getText().toString(),current_Date.getText().toString(),task_Priority.getText().toString()));
                                    startActivity(intent);
                                    //send information from Main Activity to display Task activity
                                   // send name date and priority

                    }
                });

                builder.setNegativeButton("Cancel",null);


                AlertDialog dialog = builder.create();
                dialog.show();
            }
        });
    }


    @Override
    protected void onActivityResult(int requestCode,int resultCode,@Nullable Intent data) {
        super.onActivityResult(requestCode,resultCode,data);
        if(resultCode == RESULT_OK){
            if(data!= null && data.hasExtra(CreateTaskActivity.DATA_ENTERED)){
                String name = data.getStringExtra(CreateTaskActivity.DATA_ENTERED);
                String date = data.getStringExtra(CreateTaskActivity.DATA_ENTERED_TWO);
                String priority = data.getStringExtra(CreateTaskActivity.DATA_ENTERED_THREE);

                    name_of_Task.setText(name);
                    current_Date.setText(date);
                    task_Priority.setText(priority);
                    tasks.add(name_of_Task.getText().toString());
            }
        }else if(resultCode == RESULT_CANCELED){
            //student_Dept.setText("");
        }
    }

}

我的创建任务类

public class displayTask extends AppCompatActivity {
TextView name;
TextView date;
TextView priority;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display_task);
        setTitle("display Task");

        name = findViewById(R.id.display_Task);
        date = findViewById(R.id.display_Date);
        priority = findViewById(R.id.display_Prior);

        if(getIntent() != null && getIntent().getExtras() != null && getIntent().hasExtra(MainActivity.TASK)){

            Bundle data = getIntent().getExtras();
            Task tasks = (Task) data.getParcelable(MainActivity.TASK);
            name.setText(tasks.description);
            date.setText(tasks.date);
            priority.setText(tasks.priority);

        }

        findViewById(R.id.display_Cancel).setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                setResult(RESULT_CANCELED);
                finish();
            }
        });
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...