在 Android 中将 EditText 中的项目添加到 ListView 示例应用程序中
Add Items from a EditText into a ListView sample App in Android
我的想法有问题。
我有 2 个活动:
- 主要ActivityMainActivity
- MainAddMedActivity MainAddMedActivity
如您所见,第二个 Activity 中有 EditText 小部件。我现在希望通过按下 MainAddMedActivity.
中的浮动操作按钮,将它们的内容保存在 MainActivity 的 ListView 中
我尝试使用适配器,但无法弄清楚。希望您能够帮助我。我正在为列表中的布局使用额外的 xml。
这是目前我所拥有的:
主要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?
}
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?
我的想法有问题。 我有 2 个活动:
- 主要ActivityMainActivity
- MainAddMedActivity MainAddMedActivity
如您所见,第二个 Activity 中有 EditText 小部件。我现在希望通过按下 MainAddMedActivity.
中的浮动操作按钮,将它们的内容保存在 MainActivity 的 ListView 中我尝试使用适配器,但无法弄清楚。希望您能够帮助我。我正在为列表中的布局使用额外的 xml。
这是目前我所拥有的:
主要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? }
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?