热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何将我在EditText框中键入的数据添加到要在另一个活动中列出的数组中?

如何解决《如何将我在EditText框中键入的数据添加到要在另一个活动中列出的数组中?》经验,是哪儿的问题?

下面是我用于Android应用程序开发的3个java类.我想在AddActivity中添加学生数据(姓名和电话号码),点击"添加"后存储在MainActivity页面中.我已经研究过这个并尝试使用数组.但是我对于代码如何将AddActivity中键入的数据发送到MainActivity页面的逻辑非常困惑.任何人都可以给我一个如何解决这个问题的指导,如果你能用另一种方式向我展示我正在尝试的方式,我真的很感激.我希望在AddActivity页面中单击的每个"Add"之后,将数据以ListView格式存储在MainActivity中.我希望有人能指导我这样做.谢谢.

MainActivity.java - https://jsfiddle.net/eb1fprnn/

public class MainActivity extends AppCompatActivity {
ListView listView;
Button addStudent;
ArrayList students = new ArrayList();
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    add();
}



public void add() {
    Student student;
    addStudent = (Button) findViewById(R.id.add);
    addStudent.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, AddActivity.class);
            startActivity(intent);
        }
    });
}
}

AddActivity.java - https://jsfiddle.net/40k5mas2/

public class AddActivity extends AppCompatActivity {
EditText name, phone;
Button add;
int FphoneNumber;
String Fname;
ArrayList students;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Intent intent = getIntent();
    students = (ArrayList) getIntent().getSerializableExtra("AddNewStudent");
    setContentView(R.layout.activity_add);
    edit();
    addStudent();



}



public void edit() {
    name = (EditText) findViewById(R.id.StudentName);
    phOne= (EditText) findViewById(R.id.phone);
    final Button addStudent = (Button) findViewById(R.id.AddStudent);

    name.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            addStudent.setEnabled(!name.getText().toString().trim().isEmpty());
            Fname = name.getText().toString();

            String phOneNumber= phone.getText().toString();
            FphOneNumber= Integer.parseInt(phoneNumber);
        }

        @Override
        public void afterTextChanged(Editable s) {

        }


    });
}





public void addStudent() {

    add = (Button) findViewById(R.id.AddStudent);

    add.setOnClickListener(new View.OnClickListener() {
        @Override

        public void onClick(View v) {

            Intent intent = new Intent(AddActivity.this, MainActivity.class);
            intent.putExtra("studentName",name.getText().toString() );
            intent.putExtra("phoneNumber",phone.getText().toString());
            startActivity(intent);

            Student student = new Student(Fname, FphoneNumber);

            students.add(student);



        }
    });
}

public void addStudent(){
    add = (Button) findViewById(R.id.AddStudent);
    add.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(AddActivity.this,Record.class);
            startActivity(intent);
        }
    });

}

Student.java - https://jsfiddle.net/gy0g7b0s/

public class Student {

String mName;
int mPhoneNumber;


public Student (String name, int number){
    mName = name;
    mPhOneNumber= number;
};

public String getmName() {
  return mName;
}

public String getmName(String newName) {
    return (this.mName = newName);
}

public int getmPhoneNumber() {
    return this.mPhoneNumber;
}

public int getmPhoneNumber(int newPhoneNumber) {
    return (this.mPhOneNumber= newPhoneNumber);
}

@Override
public String toString() {
    return String.format("%s\t%f",this.mName, this.mPhoneNumber);
}

[1]:[主要活动页面图片] http://imgur.com/a/pMWt4

[2]:[添加活动页面的图片] http://imgur.com/a/8YvVc


推荐阅读
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 我有一个从C项目编译的.o文件,该文件引用了名为init_static_pool ... [详细]
  • JVM钩子函数的应用场景详解
    本文详细介绍了JVM钩子函数的多种应用场景,包括正常关闭、异常关闭和强制关闭。通过具体示例和代码演示,帮助读者更好地理解和应用这一机制。适合对Java编程和JVM有一定基础的开发者阅读。 ... [详细]
  • javax.mail.search.BodyTerm.matchPart()方法的使用及代码示例 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • com.sun.javadoc.PackageDoc.exceptions()方法的使用及代码示例 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • Python 序列图分割与可视化编程入门教程
    本文介绍了如何使用 Python 进行序列图的快速分割与可视化。通过一个实际案例,详细展示了从需求分析到代码实现的全过程。具体包括如何读取序列图数据、应用分割算法以及利用可视化库生成直观的图表,帮助非编程背景的用户也能轻松上手。 ... [详细]
author-avatar
徐昕斌_380
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有