gpt4 book ai didi

android - 将参数传递给 fragment

转载 作者:行者123 更新时间:2023-11-29 16:09:29 24 4
gpt4 key购买 nike

我创建了一个 preference_headers.xml 如下。我的 Activity 能够毫无问题地生成它。我想知道如何将参数(即 IP 地址字符串)从 Activity 传递到 fragment 类。我正在考虑使用 findfragmentbyid() 来访问特定 fragment ,但是,我不知道如何在 preference_headers.xml 中的 header 标记处添加 ID。

这是我的示例代码。谢谢

===== SetupActivity.java =======

public class SetupActivity extends SherlockPreferenceActivity {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.preference_headers, target);
}
}

===== preference_headers.xml =======

<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">

<header android:title="Network" />
<header
android:id="@+id/setting_wifi"
android:fragment="com.example.setup.WIFIFragment"
android:title="@string/setting_wifi" >
</header>
</preference-headers>

===== WIFIFragment.java =======

public static class WIFIFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference_wifi);
}

}

最佳答案

在你的 SherlockPreferenceActivity 中覆盖这个方法

@Override
public void onHeaderClick(Header header, int position) {


// Here's an example

if(header.fragmentArguments == null)
{
header.fragmentArguments = new Bundle();
}
header.fragmentArguments.putString("IP", "Hi there! My IP is 127.0.0.1");

super.onHeaderClick(header, position);

}

你可以在你的 fragment 中获取参数

public static class WIFIFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference_wifi);

Bundle b = getArguments();
if(b != null)
Toast.makeText(getActivity() , b.getString("IP") , 1).show();
}

}

我已经在 J​​elly bean 中尝试过,而不是在 Actionbar Sherlock 库中,但您可以尝试一下。希望对你有帮助

关于android - 将参数传递给 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14699290/

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