我是Android新手。我想将数据从片段传递到另一个Activity。此片段显示在MainActivity
上,我需要将数据传递到DetalleActividadActivity
。
这是我的片段代码:
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();
}
这是我的活动代码:
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);
}
}
有什么想法吗?我不知道这是否有事可做,但我的活动在这个包中:
com.example.arc3labswtm_android
我的片段是这样的:
com.example.arc3labswtm_android.customs
我不知道这是EXTRA_PARAMETER
不起作用的原因。
当我到达DetalleActividadActivity时,parameter
始终为空。
请帮忙!
答案 0 :(得分:0)
问题是,您已将EXTRA_PARAMETER置于IntentExtras
之后的Activity start
在开始活动之前,您需要将Extras添加到intent中。
当您从片段中启动Activity时,您可以通过意图传递数据
Intent newActivity = new Intent(getActivity(), DetalleActividadActivity.class);
newActivity.putExtra(EXTRA_PARAMETER, pid);
startActivity(newActivity);
创建活动时,您可以检索此类数据
String parameter = getIntent().getStringExtra(ActivitiesFragment.EXTRA_PARAMETER);