Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.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
Android 处理Singleton类中的添加、编辑和删除操作_Android_Singleton_Android Edittext - Fatal编程技术网

Android 处理Singleton类中的添加、编辑和删除操作

Android 处理Singleton类中的添加、编辑和删除操作,android,singleton,android-edittext,Android,Singleton,Android Edittext,我有一个单身班,看起来像 public class SharedMemory { private Training currentTraining; private Trainee currentTrainee; private String currentAction; public static final String ACTION_ADD= "add"; public static final String ACTION_EDIT = "edit"; public static fi

我有一个单身班,看起来像

public class SharedMemory {

private Training currentTraining;
private Trainee currentTrainee;
private String currentAction;

public static final String ACTION_ADD= "add";
public static final String ACTION_EDIT = "edit";
public static final String ACTION_DELETE = "delete";


private static SharedMemory instance;

private SharedMemory() {

}

public static SharedMemory getInstance() {
    if (instance == null)
        instance = new SharedMemory();
    return instance;

}

public Training getCurrentTraining() {
    return currentTraining;
}

public void setCurrentTraining(Training currentTraining) {
    this.currentTraining = currentTraining;
}

public Trainee getCurrentTrainee() {
    return currentTrainee;
}

public void setCurrentTrainee(Trainee currentTrainee) {
    this.currentTrainee = currentTrainee;
}

public String getCurrentAction() {
    return this.currentAction;
}

public void setCurrentAction(String currentAction) {
    this.currentAction = currentAction;
}}
现在,我想点击特定的项目,它应该执行它的特定任务添加新的,编辑信息和删除到和从数据库

用于添加

   Button addnew = (Button) findViewById(R.id.add_btn);
    addnew.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // Add new Trainee
            SharedMemory.getInstance().setCurrentAction(
                    SharedMemory.ACTION_ADD);
            SharedMemory.getInstance().setCurrentTrainee(new Trainee());

            Intent intent = new Intent(TraineeActivity.this,
                    FormActivity.class);

            TraineeActivity.this.startActivity(intent);
        }
    });

    traineesList
用于编辑

traineesListView
            .setOnItemLongClickListener(new OnItemLongClickListener() {

                @Override
                public boolean onItemLongClick(AdapterView<?> arg0,
                        View arg1, int arg2, long arg3) {
                    currentTrainee = (Trainee) arg0.getAdapter().getItem(
                            arg2);

                    String items[] = { "Edit your information",
                            "Unregister from training" };
                    Builder alert = new AlertDialog.Builder(
                            TraineeActivity.this);
                    alert.setTitle("Dear!" + " "
                            + currentTrainee.getFormatedName() + "," + " "
                            + "Choose your action!!");
                    alert.setItems(items, new OnClickListener() {

                        @Override
                        public void onClick(DialogInterface arg0,
                                int selectedItem) {

                            if (selectedItem == 0) {

                                SharedMemory.getInstance()
                                        .setCurrentAction(
                                                SharedMemory.ACTION_EDIT);
                                SharedMemory.getInstance()
                                        .setCurrentTrainee(currentTrainee = new Trainee());

                                Intent intent = new Intent(
                                        TraineeActivity.this,
                                        FormActivity.class);
                                TraineeActivity.this.startActivity(intent);

                            } else if (selectedItem == 1) {
                                // delete trainee information
                            }

                        }

                    });
                    alert.show();
                    return true;
                }
traineesListView
.setOnItemLongClickListener(新的OnItemLongClickListener(){
@凌驾
长单击(AdapterView arg0,
视图arg1、整数arg2、长arg3){
Current培训生=(培训生)arg0.getAdapter().getItem(
arg2);
字符串项[]={“编辑您的信息”,
“取消培训注册”};
生成器警报=新建警报对话框.Builder(
培训活动;
alert.setTitle(“亲爱的!”+“
+Current培训生。GetFormattedName()+“,”+“”
+“选择你的行动!!”;
alert.setItems(items,新的OnClickListener(){
@凌驾
public void onClick(对话框接口arg0,
int selectedItem){
如果(selectedItem==0){
SharedMemory.getInstance()文件
.setCurrentAction(
SharedMemory.ACTION\u EDIT);
SharedMemory.getInstance()文件
.SetCurrent培训生(Current培训生=新培训生());
意图=新意图(
培训活动,
形式活动(类);
培训活动。此。开始触觉(意图);
}else if(selectedItem==1){
//删除学员信息
}
}
});
alert.show();
返回true;
}

现在,我想在另一个活动中,当操作为action_EDIT时,自动将currentTrainee的值传递到edittext字段。

什么不起作用?您采取了哪些步骤来传递该信息?发生了什么事?在您发布更多关于您所做的事情、您希望做的事情的详细信息之前,没有人能够帮助您发生,以及实际发生的情况。这些字符串“添加”、“编辑”、“删除”在sharedmemory类中没有任何效果。我想做一些特定的操作。例如,如果我单击按钮,它应该会打开另一个活动,并且应该知道是时候添加新的受训人员了,而不是编辑或删除。您定义了这些字符串,但没有对它们做任何其他操作。如果您想了解如何将信息传递给新的act注意,我建议您阅读问题。@PaF请检查我编辑的问题。我执行的方法错误。现在我解决了一半。但仍然存在一些问题。为什么您要在
SharedMemory.getInstance().setCurrentTrainee(currentTrainee=new Trainee())中分配给currentTrainee;
?您不是想传递在函数开头检索到的学员,比如
SharedMemory.getInstance().setCurrentTrainee(currentTrainee);