将变量从微调器复制到主要活动

时间:2016-05-09 17:12:01

标签: android

我有一个主要的活动,包含一个人体模型(跟我一起),当你点击它的头部时,它会打开一个新的活动,你可以选择发型和颜色去模特的头上。我希望能够将此选择复制到主要活动,并在人体模型上显示相同的图片。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

您可以在MainActivity中设置静态变量

public static String hairStyle = "";

然后在用数据填充之后从你的微调器

Spinner hairStylesSpinner = (Spinner) findViewById(R.id.hair_styles_spinner);

SpinnerAdapter spinnerAdapter = new SpinnerAdapter(new ArrayList<>(Arrays.asList(getResources().getStringArray(R.array.hair_styles))), "");

hairStylesSpinner.setAdapter(spinnerAdapter);

获取所选内容并将其保存在MainActivity中

MainActivity.hairStyle = yourList.get(hairStylesSpinner.getSelectedItemPosition());

答案 1 :(得分:0)

这样的事情: 从你的发型活动。

fn main() {
    for (j, val) in "dummy string".chars().rev().enumerate() {
        println!("{}, {}", j, val)
    }
}

从你的模特活动。

fn main() {
    for (j, val) in "dummy string".char_indices().rev() {
        println!("{}, {}", j, val)
    }
}

我从这里的类似问题中得到了这个答案: how to pass images through intent?

答案 2 :(得分:0)

我是通过intent.putExtra实现的。继承人如何:

我创建了一个按钮以返回mainActivity:

<Button
    android:id="@+id/backtomain"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/back_arrow"
    android:onClick="backMain"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true" />

onClick:"backMain"在java文件中运行backMain

public void backMain(View view){
    Intent intent = new Intent (this, MainActivity.class);
    intent.putExtra("hairStyle", hairSpinner.getSelectedItem().toString());
    intent.putExtra("hairColor", hairColor.getSelectedItem().toString());
    startActivity(intent);
}

微调器上的选定项目从活动中发送并保存为主要活动中的变量:

String hairStyle, hairColor;
Bundle hairExtras = getIntent().getExtras();
if(hairExtras!=null){
    hairStyle = hairExtras.getString("hairStyle");
    hairColor = hairExtras.getString("hairColor");
    displayHair();
}