sách gpt4 ai đã đi

android - 如何从正常 Activity 中打开列表 fragment

In lại 作者:行者123 更新时间:2023-11-30 01:36:26 hai mươi bốn 4
mua khóa gpt4 Nike

我在这里搜索,但没有找到任何适用于我的代码的答案。我想要做的是从我的 mainActivity 打开一个 listfragment。我希望当用户按下操作栏中的图标时出现 listFragment。

Cảm ơn trước

我尝试启动 listFragment 的代码:

 if (id == R.id.action_favourites) {
ListFragment newFragment = new ListFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.favourites_fragment, newFragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
trả về giá trị đúng;
}

列表 fragment 中的自定义行:

<>
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="phù hợp với cha mẹ"
android:layout_height="45dp"
android:padding="5dp"
android:id="@+id/favourites_fragment">



android:id="@+id/newspaperNameFavourite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textSize="20sp" />


android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:id="@+id/passUrl"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="135dp"
android:layout_marginEnd="135dp"
android:visibility="gone"/>


listFragment 的 listview 的 XML


xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="phù hợp với cha mẹ"
android:layout_height="match_parent">



android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:layout_marginTop="50dp"/>




这是我的 listFragment 类:

public class FavouritesActionBar extends ListFragment {


private static final String BACKGROUND_COLOR = "color";
private static final String INDEX = "index";

private String title;
private int page;
private AdView mAdView;
private AdRequest adRequest;
private DataBaseWrapper dataBase;


public static Favourites newInstance(int color, String title) {

Favourites fragment = new Favourites();

Bundle bundle = new Bundle();
bundle.putInt(BACKGROUND_COLOR, color);
bundle.putString("someTitle", title);
fragment.setArguments(bundle);
fragment.setRetainInstance(true);

return fragment;

}

@Ghi đè
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
page = getArguments().getInt("someInt", 0);
title = getArguments().getString("someTitle");
dataBase = new DataBaseWrapper(getContext());

}

@Ghi đè
public void onActivityCreated(Gói savedInstanceState) {
super.onActivityCreated(savedInstanceState);


}

@Ghi đè
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

ViewGroup rootView = null;
final String[] name;
final String[] url;

dataBase.getAllData();

name = new String[dataBase.getAllData().size()];
url = new String[dataBase.getAllData().size()];

List<>> list = new ArrayList<>>();
Map map;

for (int i = 0; i < dataBase.getAllData().size(); i++) {
name[i] = dataBase.getAllData().get(i).getName();
url[i] = dataBase.getAllData().get(i).getUrl();

rootView = (ViewGroup) inflater.inflate(R.layout.fragment_listview, container, false);

map = new HashMap();
map.put("name", name[i]);
map.put("url", url[i]);
list.add(map);

SimpleAdapter adapter = new SimpleAdapter(getActivity(), list, R.layout.favourites, new String[] { "name", "url" }, new int[] { R.id.newspaperNameFavourite, R.id.passUrl });
setListAdapter(adapter);
setRetainInstance(true);
}

trả về rootView;
}

@Ghi đè
public void onListItemClick(ListView l, View view, int position, long id){
TextView tv2=(TextView)view.findViewById(R.id.passUrl);

Intent myIntent = new Intent(getActivity(), Webview.class);
myIntent.putExtra("_url", tv2.getText().toString());
startActivity(myIntent);
}

}

1 Câu trả lời

Hãy thử cách này:

1:创建一个新 Activity 。2:将此粘贴到 OnCreate 的新 Activity 中:

 Fragment fr = new FavouritesActionBar();
FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.fragment_place, fr);
fragmentTransaction.commit();

3:在新 Activity 的 xml 中:



android:orientation="vertical"
android:layout_width="phù hợp với cha mẹ"
android:layout_height="match_parent">


<>
android:name="com.yourpackage.FavouritesActionBar"
android:id="@+id/fragment_place"
android:layout_width="phù hợp với cha mẹ"
android:layout_height="match_parent"/>


4: 在 onOptionsItemSelected 的 MainActivity 中:

Intent intent = new Intent(this, yourNewActivityCreateInPoint1.class);
startActivity(intent);

关于android - 如何从正常 Activity 中打开列表 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35048718/

hai mươi bốn 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com