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