gpt4 book ai didi

java - 如何使用bundle将数据从fragment传递到activity

转载 作者:行者123 更新时间:2023-12-01 18:37:58 26 4
gpt4 key购买 nike

我的 Main Activity 有一个搜索 View ,我想将提交的字符串从 MainActivity 传递到 SearchFragment。

@Override
public boolean onQueryTextSubmit(String query) {
Bundle bundle = new Bundle();
bundle.putString("searchTitle", query);
SearchFragment searchFragment = new SearchFragment();
searchFragment.setArguments(bundle);

Intent mIntent = new Intent(MainActivity.this, SearchActivity.class);
startActivity(mIntent);

return true;
}

但是当我尝试获取 SearchFragment 中的数据时出现 NullPointerException

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
strText = getArguments().getString("searchTitle");

return inflater.inflate(R.layout.fragment_movies, container, false);
}

我该如何解决这个问题?

最佳答案

请尝试这个。

在您的 MainActivity 中。

@Override
public boolean onQueryTextSubmit(String query) {
Bundle bundle = new Bundle();
bundle.putString("searchTitle", query);
SearchFragment searchFragment = new SearchFragment();
searchFragment.setArguments(bundle);

Intent mIntent = new Intent(MainActivity.this, SearchActivity.class);

// Add this line.
mIntent.putExtra("key", "value");

startActivity(mIntent);
return true;
}

在您的 SearchActivity 中。

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView([layout_name])

Fragment fragment = new Fragment();
Bundle bundle = new Bundle();

// Put data respected to your data type.
bundle.putString("key", getIntent().getStringExtra("key"));
fragment.setArguments(bundle);

// Add new fragment
getSupportFragmentManager()
.beginTransaction()
.add([container_id], fragment)
.addToBackStack(null)
.commit()
}

在您的 fragment 中。

@Override
public onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String value = getArguments().getString("key");
}

关于java - 如何使用bundle将数据从fragment传递到activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60000235/

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