【问题标题】:Start Fragment from Activity or save data and return to previous Fragment从Activity启动Fragment或保存数据并返回上一个Fragment
【发布时间】:2015-09-04 21:03:47
【问题描述】:

我正在使用nav drawer。所以我需要从Fragment 开始Activity 在其中我开始另一个Activity 我有ListView,单击我必须保存数据。

保存后我需要返回Fragment 必须显示保存的数据。 所以这是我的Fragment

public class ArmoryFragment extends Fragment {

public ArmoryFragment(){}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.fragment_armory, container, false);
    Button button = (Button) rootView.findViewById(R.id.button_rifles);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getActivity(), Rifles.class);
            startActivity(intent);
        }
    });
    return rootView;
}
}

这是我需要返回的活动

public class Rifles extends Activity implements View.OnClickListener, OnItemSelectedListener {
DatabaseHelper db;
String BrandModel;
private RifleDAO rifleDAO;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.rifles);
    initList();
    this.rifleDAO = new RifleDAO(this);

    ListView listView = (ListView) findViewById(R.id.listView1);
    SimpleAdapter simpleAdapter = new SimpleAdapter(this, riflesList, android.R.layout.simple_list_item_1, new String[] {"rifle"}, new int[] {android.R.id.text1});
    listView.setAdapter(simpleAdapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                                long id) {
            String item = ((TextView)view).getText().toString();
            Toast.makeText(getBaseContext(), item, Toast.LENGTH_LONG).show();
            BrandModel= ((TextView)view).getText().toString();
            String[] parts=BrandModel.split(" ");
            String Brand=parts[0];
            String Model = parts[1];
     // need to return from somewhere here

        }

    });
} next is parser code... supose it is not needed

那么我怎样才能从Activity 返回到Fragment

【问题讨论】:

  • 当然我有一些方法来保存所需的数据,我需要以某种方式从 onItemClick 开始以前的 Fragment

标签: android android-fragments android-fragmentactivity onitemclicklistener


【解决方案1】:

好吧,如果您想保存数据,我更喜欢将数据添加到数据库中的表中(显然您有一个 databaseHelper 类,因此请创建自己的表),当您从活动中返回时,添加您想要的额外位置并打电话:

selectItem(mCurrentSelectedPosition);

所以mCurrentSelectedPosition是你想要被选中的片段的位置。

【讨论】:

    猜你喜欢
    • 2021-03-27
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多