Android 如何将列表视图数据传递给另一个列表视图?
我有两个片段, 我想将列表视图数据从片段1发送到片段2 当用户单击Android 如何将列表视图数据传递给另一个列表视图?,android,listview,android-fragments,Android,Listview,Android Fragments,我有两个片段, 我想将列表视图数据从片段1发送到片段2 当用户单击Fragment1\u listview.xml上的按钮时,将出现fragment2\u listview,它具有来自Fragment1的相同数据 MainActivity.java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInsta
Fragment1\u listview.xml上的按钮时,将出现fragment2\u listview
,它具有来自Fragment1的相同数据
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart);
CartFragment();
FragmentManager manager = getSupportFragmentManager();
final int commit =
manager.beginTransaction().replace(R.id.fragment_container, cartFragment,
cartFragment.getTag()).commit();
}
}
@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_cart, container, false);
return view;
}
@Override
public void processFinish(String s) {
try {
itemList = new JsonConverter<Cart>().toArrayList(s, Cart.class);
} catch (Exception e) {
e.printStackTrace();
}
BindDictionary dic = new BindDictionary();
dic.addStringField(R.id.tvName, new StringExtractor<Cart>() {
@Override
public String getStringValue(Cart item, int position) {
return item.orderName;
}
});
dic.addStringField(R.id.tvDesc, new StringExtractor<Cart>() {
@Override
public String getStringValue(Cart item, int position) {
return item.description;
}
}).visibilityIfNull(View.GONE);
adapter = new FunDapter<>(CartFragment.this.getActivity(), itemList,
R.layout.cart_row, dic);
lv = (ListView)view.findViewById(R.id.lvCart);
lv.setAdapter(adapter);
lv.setOnItemClickListener(this);
}
public View onCreateView(LayoutInflater inflater, final ViewGroup
container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_payment, container, false);
return view;
}
Fragment1.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart);
CartFragment();
FragmentManager manager = getSupportFragmentManager();
final int commit =
manager.beginTransaction().replace(R.id.fragment_container, cartFragment,
cartFragment.getTag()).commit();
}
}
@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_cart, container, false);
return view;
}
@Override
public void processFinish(String s) {
try {
itemList = new JsonConverter<Cart>().toArrayList(s, Cart.class);
} catch (Exception e) {
e.printStackTrace();
}
BindDictionary dic = new BindDictionary();
dic.addStringField(R.id.tvName, new StringExtractor<Cart>() {
@Override
public String getStringValue(Cart item, int position) {
return item.orderName;
}
});
dic.addStringField(R.id.tvDesc, new StringExtractor<Cart>() {
@Override
public String getStringValue(Cart item, int position) {
return item.description;
}
}).visibilityIfNull(View.GONE);
adapter = new FunDapter<>(CartFragment.this.getActivity(), itemList,
R.layout.cart_row, dic);
lv = (ListView)view.findViewById(R.id.lvCart);
lv.setAdapter(adapter);
lv.setOnItemClickListener(this);
}
public View onCreateView(LayoutInflater inflater, final ViewGroup
container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_payment, container, false);
return view;
}
但我不知道怎么做。请帮助我。我认为最好的解决方案是将变量放在主活动中,并从片段中访问它们。我的意思是,如果您必须在所有片段中执行相同的操作,您可以在活动中编写代码,只需调用所需的方法。sir@SantanuSur的可能副本我有一个fragment1\u行,它是从数据库获取的数据的持有者