gpt4 book ai didi

java - fragment 中是否有类似 setResult() 的方法?

转载 作者:IT老高 更新时间:2023-10-28 23:19:42 25 4
gpt4 key购买 nike

我正在使用 fragment 。我在 onResult() 方法中遇到错误。我需要一个可以在 fragment 中使用的 setResult(RESULT_OK, data) 替代方法。请帮忙。

日历 fragment :

package app.pal.study.samplestudy;

import android.app.Fragment;
import android.content .Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import java.util.Date;
import java.util.List;

public class CalendarFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_calendar, container, false);
return rootView;
}


@Override
public void onResume() {
super.onResume();
refresh();
}

private void refresh() {
CalendarEventDataSource dataSource = new CalendarEventDataSource(getActivity());
dataSource.openReadOnlyDB();
final List<CalendarEvent> calendarEvents = dataSource.getAllEvents();
dataSource.close();
CalAllEventsListAdapter adapter = new CalAllEventsListAdapter(calendarEvents);
ListView listView = (ListView) getView().findViewById(R.id.all_event_list);
listView.setAdapter(adapter);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
end();
return true;
}
return super.onOptionsItemSelected(item);
}



public void onBackPressed() {
end();
}

private void end() {
Intent data = new Intent();
data.putExtra(Constants.DATE_KEY, (Date)(getArguments().get(Constants.DATE_KEY)));
setResult(RESULT_OK, data);
}
}

最佳答案

你应该在你的 fragment 拥有 Activity 中调用它:

 getActivity().setResult(Activity.RESULT_OK, data) 

您可能还想完成您的 Activity :

 getActivity().finish();

关于java - fragment 中是否有类似 setResult() 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36495842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com