Mel*_*nie 3 android android-fragments
首先让我说,我希望在飓风桑迪之后,东海岸的每个人都可以.我很幸运,虽然我住在纽约市,但我从未失去权力.我的想法告诉那些不那么幸运的人.现在我三天后回来工作了,我需要一些片段的帮助.我正在尝试将Bundle传递给Fragment并且它无法正常工作.我知道我的通用片段设置正确,因为如果我不尝试通过Bundle,它可以正常工作.所以这是我的活动,我通过Bundle:
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Intent choice = new Intent(getApplicationContext(), com.MyProject.project.MyList.class);
Bundle dataBundle = new Bundle();
String chosenValue = values[position];
dataBundle.putString("Level",chosenValue);
choice.putExtras(dataBundle);
startActivity(choice); }
Run Code Online (Sandbox Code Playgroud)
现在这是我没有Bundle的活动.这很好用:
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String[] values = new String[] { "Enterprise", "Star Trek", "Next Generation", "Deep Space 9", "Voyager"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试从Bundle获取信息时,它不起作用.这是我的代码:
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Bundle info = getArguments();
String level = info.getString("level");
String[] values = new String[] {level, level};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
当我运行它并在我的Activity中单击我的选择时,应用程序就会挂起.LogCat似乎没有给我很多关于此的信息.有没有人在这看到任何问题?
谢谢!
您需要在Fragment上设置参数.
在活动中onCreate:
Fragmet myFragment = new MyFragment();
myFragment.setArguments( getIntent().getExtras() );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7757 次 |
| 最近记录: |