загрузить изображение на основе 2 счетчика - PullRequest
0 голосов
/ 16 июня 2019

У меня есть два вида деятельности: первая - MainActivity, а другая - ShowMap.Я хочу загрузить изображение во втором задании на основе значения счетчика в первом задании.

Чтобы проиллюстрировать это немного, если пользователь выбирает два места в двух счетчиках, а затем нажимает кнопку «Показать карту»Он / она сможет увидеть изображение.Если пользователь выбирает другое значение в счетчике, изображение должно измениться.Как мне этого добиться?

MainActivity.java

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
private Spinner spinner1, spinner2;
ImageView img;
Button button;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // first spinner (From)
    spinner1 = (Spinner) findViewById(R.id.from);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
            R.array.places, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner1.setAdapter(adapter);

    // second spinner (To)

    spinner2 = (Spinner) findViewById(R.id.to);
    ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(this,
            R.array.places, android.R.layout.simple_spinner_item);
    adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner2.setAdapter(adapter1);


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





    button = (Button) findViewById(R.id.btn1);

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            startActivity(new Intent(MainActivity.this,ShowMap.class));


        }
    });


    img = (ImageView) findViewById(R.id.pic_map);
    int image1 = R.drawable.sn;
    int image2 = R.drawable.an;


}

@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {

    switch (i){
        case 0:
            img.setBackgroundResource(R.drawable.ac);
            break;
        case 1:
            img.setBackgroundResource(R.drawable.as);
            break;


    }

}

@Override
public void onNothingSelected(AdapterView<?> adapterView) {

}


}

ShowMap.java

public class ShowMap extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_show_map);
}


}

1 Ответ

0 голосов
/ 16 июня 2019

Сначала создайте значение для ваших изображений, например:

String data="img1";

затем в вашем onItemSelected измените значение на что-то вроде img1 или img2 , Наконец, в вашем button.setOnClickListener начните деятельность с намерения, подобного:

String value="Hello world";
Intent i = new Intent(CurrentActivity.this, NewActivity.class);    
i.putExtra("key",data);
startActivity(i);

Теперь в вашем втором занятии:

Bundle extras = getIntent().getExtras();
if (extras != null) {
   String value = extras.getString("key");
   //The key argument here must match that used in the other activity
}

и установите изображение на основе значения.

...