在 Android 中将 EditText 中的项目添加到 ListView 示例应用程序中

Add Items from a EditText into a ListView sample App in Android

我的想法有问题。 我有 2 个活动:

如您所见,第二个 Activity 中有 EditText 小部件。我现在希望通过按下 MainAddMedActivity.

中的浮动操作按钮,将它们的内容保存在 MainActivity 的 ListView 中

我尝试使用适配器,但无法弄清楚。希望您能够帮助我。我正在为列表中的布局使用额外的 xml。

这是目前我所拥有的:

  1. 主要Activity:

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
    
            Intent intent = new Intent(view.getContext(), MainAddMedActivity.class);
            startActivity(intent);
        }
    });
    
    
    ListView mainListView = (ListView) findViewById(R.id.listView);
    listAdapter = new ArrayAdapter<String>(this, R.layout.single_row);
    mainListView.setAdapter(listAdapter);
    
    
    String bIntent = getIntent().getExtras().getString("CONTENT_SEARCH_MED"); //And now?
    
    }
    
  2. MainAddMedActivity

    private EditText txtSearchMedicament;
    private EditText txtNumberMedicament;
    
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_add_med);
    
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            EditText description = (EditText) findViewById(R.id.txtSearchMedicament);
            String text = description.getText().toString();
            // Now what?!
        }
    });
    
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    
    this.txtSearchMedicament = (EditText) findViewById(R.id.txtSearchMedicament);
    this.txtNumberMedicament = (EditText) findViewById(R.id.txtNumberMedicament);
    
    Intent i = new Intent(this, MainActivity.class);
    i.putExtra("CONTENT_SEARCH_MED", txtSearchMedicament.getText().toString());
    i.putExtra("CONTENT_MED_NR", txtNumberMedicament.getText().toString());
    
    }
    

一次只能有一个 Activity 处于活动状态,因此您必须将数据存储在 SharedPreferences 或数据库中,并在 MainActivity 恢复时重新加载。

您需要使用"startActivityForResult()"方法。下面link解释的很完美

How to manage `startActivityForResult` on Android?