繁体   English   中英

有意将2个字符串传递给新活动

[英]Passing 2 strings with intent to new activity

我是如此接近,但无法弄清楚。 我正在尝试将字符串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;
        }
    });
}
}

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");

给临时演员取不同的名称,现在第二个覆盖第一个

 i.putExtra(ID_EXTRA ,movieGroup);
 i.putExtra(ID_EXTRA ,movieName);

将其更改为类似(或声明单独的常量)

 i.putExtra(ID_EXTRA + "group" ,movieGroup);
 i.putExtra(ID_EXTRA + "name" ,movieName);

然后在Main22Activity.class使用这些名称

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM