Android的工作室:从活动
问题描述:
我有一个列表片段的片段填充一个Listfragment:Android的工作室:从活动
public class F1_fr extends ListFragment {
View rootview;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
rootview=inflater.inflate(R.layout.f1_lay,container,false);
final String[] items = getResources().getStringArray(R.array.heroes);
ArrayAdapter<String> aa = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, items);
setListAdapter(aa);
rootview.findViewById(R.id.semi_transparent).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), ajout.class);
;
startActivity(intent);
}
});
return rootview;
}
我用一个按钮与一个简单的文本框另一项活动去,我想,该文本我进入在文本字段中添加到列表片段
我想我需要使用sqlite数据库来存储数据,但我不知道如何对我的listfragment添加此字符串。在此先感谢您的帮助
答
可以帮助read this,并考虑在Android中MVC pricipals ...
MVC明智的,你的阵列“R.array.heroes”是数据(模型项的集合, typ = String)。
所以,当你开始一个新的活动的文本字段添加到列表中,多想想为创建一个新的模型和模型返回给调用你的“添加新”活动的条款......
开始一个结果的活动,并返回调用者可以添加到适配器中的数据的数据或模型....
start-NEW-MODEL-activity将结果传回新意STRING中。
mActivity.getIntent().putExtra(ListActivity.EXTRA_MODEL, newStringObject);
mActivity.setResult(RESULT_OK, mActivity.getIntent());
finish();
在调用者
,新的模式添加到集合或适配器的阵列....
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK && EXTRA_ACTN_NEW_ITEM) {
((ArrayAdapter) listView.getAdapter()).insert(data.getStringExtra(EXTRA_MODEL), 0);
然后调用如果需要刷新列表“通知()”在适配器上带有新列表项的UI。