0

我有 2 个微调器,每个有 10 个值,现在我想要的是当用户选择 2 个值时返回另一个名为“YourPath”的活动的特定图片

这是第一个活动的代码

private Spinner spinner1, spinner2;
private Button btnSubmit;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.locationlist);


    addListenerOnButton();
    addListenerOnSpinnerItemSelection();

}

public void addListenerOnSpinnerItemSelection() {
    spinner1 = (Spinner) findViewById(R.id.spinner1);
    spinner2 = (Spinner) findViewById(R.id.spinner2);

}

public void addListenerOnButton() {

    spinner1 = (Spinner) findViewById(R.id.spinner1);
    spinner2 = (Spinner) findViewById(R.id.spinner2);
    btnSubmit = (Button) findViewById(R.id.button1);

    btnSubmit.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {

            AlertDialog alertDialog = new AlertDialog.Builder(
                    LocationList.this).create(); // Read Update
            alertDialog.setTitle("Confirm Message");
            alertDialog.setMessage("You are in "
                    + String.valueOf(spinner1.getSelectedItem())
                    + "\nAnd You are going to "
                    + String.valueOf(spinner2.getSelectedItem()));

            alertDialog.setButton("Yes",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,
                                int which) {

                            launchIntent();

                        }
                    });

            alertDialog.setButton2("No",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,
                                int which) {

                        }
                    });

            alertDialog.show();
        }

        private void launchIntent() {
            Intent it = new Intent(LocationList.this, YourPath.class);
            it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(it);
        }

    });

}

}

现在我需要一个数据库来做到这一点!

你有什么想法我该怎么做!!!!

谢谢

4

1 回答 1

0

您根本不需要数据库。事实上,您这样做的唯一原因是,如果您想动态更改用户可能最终出现在“您的路径”​​上的图像。

如果您可以在创建应用程序时提供所有图像,只需将它们全部放在 /Drawable 文件夹中,然后您将在 YourPath Activity 中访问您想要的图像。

我会抓取这些值并将它们放入一个变量中以像这样使用它们:

String value1 = spinner1.getSelectedItem().toString();
String value2 = spinner2.getSelectedItem().toString();

然后,我会将几个字符串值粘贴到您发送到 YourPath 活动的意图中。您将在 launchIntent 方法中执行此操作,如下所示:

private void launchIntent() {
        Intent it = new Intent(LocationList.this, YourPath.class);
        it.putExtra("value1", value1);
        it.putExtra("value2", value2);
        startActivity(it);
    }

然后,在 YourPath 类中,像这样获取这些值:

Intent i = getIntent();
Bundle extras = i.getExtras();

String value1 = extras.getString("value1");
String value2 = extras.getString("value2");

然后,您将执行一些 if-else(或最好是 switch)语句来确定要显示的图像

if(value1.equals("somevalue") && value2.equals("othervalue")){
    int imageResource = R.drawable.mypic;

    ImageView imageView = (ImageView) findViewById(R.id.myImageView);
    Drawable image = getResources().getDrawable(imageResource);
    imageView.setImageDrawable(image);
}

然后将您的 my_path 布局文件添加到 res/layout 文件夹

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/myImageView"
    ></ImageView>
</LinearLayout>

您现在应该可以在 myPath 活动中访问图像视图,只是不要忘记设置内容视图:

setContentView(R.layout.my_path);
于 2012-11-13T18:21:12.493 回答