传递2个字符串意图进行新活动

时间:2016-01-05 15:16:56

标签: java string android-intent

我很亲密,但无法弄明白。我试图将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;
        }
    });
}
}

2 个答案:

答案 0 :(得分:1)

movieGroupmovieName使用不同的密钥。像这样的东西,

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

中使用这些名称