我很亲密,但无法弄明白。我试图将Strings movieGroup和movieName传递给新活动。我拥有它的方式我只能做一个或另一个。我想两者都来参加一项新活动
public class MainActivity extends Activity {
public final static String ID_EXTRA = "com.example.chris.prontopages2.Main22Activity.";
HashMap<String, List<String>> Movies_category;
List<String> Movies_list;
ExpandableListView Exp_list;
MoviesAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Exp_list = (ExpandableListView) findViewById(R.id.exp_list);
Movies_category = DataProvider.getInfo();
Movies_list = new ArrayList<String>(Movies_category.keySet());
adapter = new MoviesAdapter(this, Movies_category, Movies_list);
Exp_list.setAdapter(adapter);
Exp_list.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
String movieGroup = Movies_list.get(groupPosition);
String movieName = Movies_category.get(Movies_list.get(groupPosition)).get(childPosition);
Intent i = new Intent(MainActivity.this,Main22Activity.class);
Bundle extras = i.getExtras();
i.putExtra(ID_EXTRA ,movieGroup);
i.putExtra(ID_EXTRA ,movieName);
startActivity(i);
return false;
}
});
}
}
答案 0 :(得分:1)
为movieGroup
和movieName
使用不同的密钥。像这样的东西,
i.putExtra(ID_EXTRA + "movieGroup" ,movieGroup);
i.putExtra(ID_EXTRA + "movieName" ,movieName);
在Main22Activity
中,像这样检索它,
Bundle extras = getIntent().getExtras();
String movieGroup = extras.getString(ID_EXTRA + "movieGroup");
String movieName = extras.getString(ID_EXTRA + "movieName");
答案 1 :(得分:0)
给予额外的不同名称,现在第二个覆盖第一个
i.putExtra(ID_EXTRA ,movieGroup);
i.putExtra(ID_EXTRA ,movieName);
将其更改为(或声明单独的常量)
i.putExtra(ID_EXTRA + "group" ,movieGroup);
i.putExtra(ID_EXTRA + "name" ,movieName);
然后在Main22Activity.class