gpt4 book ai didi

android - 使用向上按钮从 Activity 返回到 fragment

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

在主要 Activity 中,我创建了两个用作选项卡式菜单的 fragment 。其中一个 fragment 包含一个列表,其中的列表项在单击时会启动一个新 Activity 。我想使用向上操作/导航按钮从新 Activity 返回到 fragment (列表),但没有显示列表,只有一个空选项卡。我已将父 Activity 声明为 manifest.xml 中的主要 Activity 。

当我使用手机的后退按钮时,它工作正常。

List 是在 fragment 的 onViewCreated 方法中创建的。

list :

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Main2Activity"
android:parentActivityName=".MainActivity" >
</activity>
</application>

启动新 Activity 的 listView fragment :

 public static class frag extends Fragment {

private static final String ARG_SECTION_NUMBER = "section_number";

public frag() {
}
public static frag newInstance(int sectionNumber) {
frag fragment = new rangingFrag();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);


return rootView;
}

@Override
public void onViewCreated(View rootView, Bundle savedInstanceState) {
ListView listView = (ListView) rootView.findViewById(R.id.mobile_list);
final ArrayAdapter adapter = new ArrayAdapter<>(getActivity().getApplicationContext(), R.layout.listview);
listView.setAdapter(adapter);
adapter.addAll(beacons);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
String selectedText = (String) parent.getItemAtPosition(position);
Bundle bundle = new Bundle();
bundle.putString("param1", selectedText);
Intent myIntent = new Intent(v.getContext(), Main2Activity.class);
myIntent.putExtras(bundle);
startActivity(myIntent);
}
}
);

} }

最佳答案

在您希望将后退箭头保留在操作栏上的 Activity 中,在 onCreate 中,写入:

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);

然后覆盖:

@Override
public boolean onOptionsItemSelected(MenuItem item) {

super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case android.R.id.home:
finish();
break;
}

return true;
}

关于android - 使用向上按钮从 Activity 返回到 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40590179/

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