【发布时间】:2016-01-17 00:39:51
【问题描述】:
我有一个包含项目列表的片段。我想从另一个活动访问该列表,该活动在用户输入编辑文本并保存该项目时在列表中添加项目。这个项目应该被添加到片段列表中。我怎样才能做到这一点?如何从另一个活动访问片段中创建的列表?
片段
public class ItemFragment extends Fragment {
RecyclerView recyclerView;
IAdapter adapter;
ArrayList<Expense> items;
public ItemFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_item_list, container, false);
setHasOptionsMenu(true);
Expense e = new Expense();
recyclerView = (RecyclerView) view.findViewById(R.id.RecyclerView);
ImageButton imageButton = (ImageButton) view.findViewById(R.id.imgbtn_fab);
LinearLayoutManager llm = new LinearLayoutManager(this.getActivity());
items=new ArrayList<>();
recyclerView.setLayoutManager(llm);
recyclerView.setHasFixedSize(true);
initializeDataType1();
adapter = new IAdapter(getActivity(),items);
recyclerView.setAdapter(adapter);
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(ItemFragment.this.getActivity(), Main2Activity.class);
startActivity(intent);
}
});
return view;
}
private void initializeDataType1() {
items.add(new Expense("1000", "2000", 1));
items.add(new Expense("2000", "5000", 1));
items.add(new Expense("3000", "400", 2));
items.add(new Expense("1000", "4000", 1));
items.add(new Expense("3000", "3000", 2));
items.add(new Expense("2000", "100", 1));
items.add(new Expense("2000", "3333", 2));
items.add(new Expense("3000", "shopping", 1));
items.add(new Expense("1000", "food", 1));
items.add(new Expense("1000", "food", 2));
items.add(new Expense("2000", "drink", 1));
items.add(new Expense("3000", "shopping", 2));
items.add(new Expense("2000", "3333", 1));
items.add(new Expense("3000", "shopping", 1));
items.add(new Expense("1000", "food", 1));
items.add(new Expense("1000", "food", 1));
items.add(new Expense("2000", "drink", 1));
items.add(new Expense("3000", "shopping", 1));
}
}
活动
public class Main2Activity extends Activity {
public Expense ex;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
final EditText amt=(EditText)findViewById(R.id.editText);
final EditText exp=(EditText)findViewById(R.id.editText2);
final EditText typ=(EditText)findViewById(R.id.typ);
Button save=(Button)findViewById(R.id.addamt);
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String amount = amt.getText().toString();
String expense = exp.getText().toString();
int type=(Integer.parseInt(typ.getText().toString()));
Toast.makeText(getApplicationContext(),
"Saved",
Toast.LENGTH_LONG).show();
}
});
}
}
请帮忙...
【问题讨论】:
标签: java android list android-activity