微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

当我点击一个独特的任务时,我无法让我的警报对话框显示不同的数据。当我创建一个新任务时,它只显示新任务数据,而完全忽略以前创建的任务。我创建了一个 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 举报,一经查实,本站将立刻删除。