gpt4 book ai didi

java - 将数据从 Activity 传递到 Android 中的 fragment

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

我对 Java 和 Android 编程还很陌生。我试图弄清楚如何通过另一个使用 setContentView 的 Activity 将一组变量从一个 Activity 传递到附加到扩展 ListFragment 的类的 xml 文件。基本上,我希望第一个 Activity 中的数据能够被第二个 Activity 中访问的 fragment 访问。到目前为止,我一直在努力研究这一点,所以如果答案已经存在,请原谅我。

我有一个名为 Login.java 的 Activity ,它执行以下操作:

Intent intent = new Intent(this, ListActivity.class);
Bundle varBundle = new Bundle();
varBundle.putString("companyKey",companyKey);
varBundle.putString("techID",techID);
varBundle.putString("userID",userID);
varBundle.putString("startDate",startDate);
intent.putExtras(varBundle);
startActivity(intent);

在 ListActivity.java 中,到目前为止我有这个:

public class ListActivity extends Activity 
{
public String companyKey;
public String techID;
public String userID;
public String startDate;

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

Bundle vars = getIntent().getExtras();

companyKey = vars.getString("companyKey");
techID = vars.getString("techID");
userID = vars.getString("userID");
startDate = vars.getString("startDate");

setContentView(R.layout.fragmentlist);


}

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.list, menu);
return true;
}

}

我将内容 View 设置为 fragmentlist.xml:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/titles"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.example.technicianappointmentlist.OrderList" />

Fragmentlist.xml 绑定(bind)到 OrderList.java。这是我希望能够访问从 bundle 传递到 ListActivity.java 的数据的地方。

public class OrderList extends ListFragment
{
//THIS IS WHERE I WANT TO ACCESS THE VARIABLES PASSED INTO ListActivity.java
public OrderList()
{
super();
// TODO Auto-generated constructor stub
}


@SuppressWarnings({ })
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

}
}

这可能吗?如果这是一个菜鸟问题,我再次道歉,但我还没有找到答案。

提前谢谢你。

最佳答案

您可以调用(从您的 fragment 中)

String companyKey = ((ListActivity)getActivity()).companyKey;
String techId = ((ListActivity)getActivity()).techId;
String userId = ((ListActivity)getActivity()).userId;
String startDate = ((ListActivity)getActivity()).startDate;

关于java - 将数据从 Activity 传递到 Android 中的 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17218386/

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