[英]How to pass data from Fragment to Activity?
I'm new at Android. 我是Android新手。 I want to pass data from a fragment to another Activity.
我想将数据从一个片段传递到另一个活动。 This fragment is displayed on
MainActivity
and I need to pass data to DetalleActividadActivity
. 该片段显示在
MainActivity
,我需要将数据传递给DetalleActividadActivity
。
This is my fragment's code: 这是我片段的代码:
public final static String EXTRA_PARAMETER = "com.example.arc3labswtm_android.customs.PARAMETER";
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
mAdapter = new ActivitiesAdapter(getActivity(), R.layout.act_itemlist);
ListView listViewToDo = (ListView) getView().findViewById(R.id.activities_fragment_list);
listViewToDo.setAdapter(mAdapter);
listViewToDo.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int position,long id)
{
final Activities currentItem = mAdapter.getItem(position);
String pid = currentItem.getId();
Intent newActivity = new Intent(view.getContext(), DetalleActividadActivity.class);
startActivity(newActivity);
newActivity.putExtra(EXTRA_PARAMETER, pid);
}
});
refreshItemsFromTable();
}
This is my Activity's code: 这是我的活动的代码:
public class DetalleActividadActivity extends ActionBarActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_detalle_actividad);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
Intent intent = getIntent();
String parameter = intent.getStringExtra(ActivitiesFragment.EXTRA_PARAMETER);
}
}
Any ideas? 有任何想法吗? I don't know if this has something to do but my Activities are in this package:
com.example.arc3labswtm_android
我不知道这是否有事可做,但是我的活动在此软件包中:
com.example.arc3labswtm_android
And my fragment is in this: com.example.arc3labswtm_android.customs
我的片段在其中:
com.example.arc3labswtm_android.customs
I don't know if that is why EXTRA_PARAMETER
does not work. 我不知道这是为什么
EXTRA_PARAMETER
不起作用的原因。
When I get to the DetalleActividadActivity the parameter
is always null. 当我进入DetalleActividadActivity时,该
parameter
始终为null。
Please help!. 请帮忙!。
The problem is , you have put the EXTRA_PARAMETER to the IntentExtras
after the Activity start
问题是,你已经把EXTRA_PARAMETER到
IntentExtras
后Activity start
You need to put the Extras to the intent before you start the activity. 开始活动之前,您需要将Extras放在意图上。
You can pass the data through intent when you start the Activity from Fragment like this 当您从Fragment启动Activity时,您可以通过意图传递数据
Intent newActivity = new Intent(getActivity(), DetalleActividadActivity.class);
newActivity.putExtra(EXTRA_PARAMETER, pid);
startActivity(newActivity);
When the Activity is Created , you can retrieve the data like this 创建活动后,您可以像这样检索数据
String parameter = getIntent().getStringExtra(ActivitiesFragment.EXTRA_PARAMETER);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.