Как нажать на ImageViews и показать другое изображение на TextView на другой вид деятельности из Drawable - PullRequest
0 голосов
/ 17 мая 2019

enter image description here

На самом деле я делаю приложение из Экран блокировки пин-кода , и я сделал только два действия.На Activity1, я хочу, чтобы, если я нажимаю Вкл. ImageView, затем Вкл. Activity2 Другое изображение. Отобразить из рисования

enter image description here

Вкл. TextViewSharedPreference Я новичок в любой справке, пожалуйста, я застряну.

Первое задание

public class MainActivity extends Activity implements View.OnClickListener{
    ImageView mpink,mpurple;
    int view;
    String display;
    private ImageView results;
    private Object get_input;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mpink=(ImageView) findViewById(R.id.imageView);
        mpurple=(ImageView) findViewById(R.id.imageView2);

        mpink.setOnClickListener(this);
        mpurple.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        if (results == mpurple) {
            display = "get_input";
            view = R.drawable.comb1;
        }
        else if (results == mpink) {
            display = "get_input";
            view = R.drawable.comb2;
        }
        else {
            display = "get_input";
            view = R.drawable.comb3;
        }
        Intent home_intent=new Intent(getApplicationContext(),Main2Activity.class);
        home_intent.putExtra("home_store_image_src", (Parcelable) mpink);
        home_intent.putExtra("home_store_image_src", (Parcelable) mpurple);
        startActivity(home_intent);
    }}

ВтороеДеятельность

public class Main2Activity extends AppCompatActivity {

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

        get_result=(TextView)findViewById(R.id.displayresult);
        Intent result_intent=getIntent();
        String text=result_intent.getStringExtra("get_input");
        get_result.setText(text);// display what the user has enter

        // get_image.setImageResource
        //OR other coding to display imageview by using the image_id from activty 1?
        int defaultIdWhenCouldNotFindImageSourceId = -1;//should use a negative value
        int imageId = result_intent.getIntExtra("home_store_image_src", defaultIdWhenCouldNotFindImageSourceId);
        if( defaultIdWhenCouldNotFindImageSourceId != imageId) {
            //when you can find an valid image id in intent extra, display it
            get_image.setImageResource(imageId);
        }
    }}

1 Ответ

0 голосов
/ 17 мая 2019

, пожалуйста, отметьте этот вопрос, чтобы помочь вам в отправке рисованных объектов из одного занятия в другое

Как передать рисование между действиями

Поэтому, когда вы используете onClick

 @Override
public void onClick(View v) {
Bitmap bitmap;
    if (results == mpurple) {
        display = "get_input";
       bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.comb1);    
    }
    else if (results == mpink) {
        display = "get_input";
       bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.comb2);    
    }
    else {
        display = "get_input";
       bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.comb3);    
    }
   ByteArrayOutputStream baos = new ByteArrayOutputStream();
   bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); 
   byte[] b = baos.toByteArray();

    Intent home_intent=new Intent(getApplicationContext(),Main2Activity.class);
    home_intent.putExtra("picture", b);
    home_intent.putStringExtra("getInput", display);
    startActivity(home_intent);
}}

Кроме того, вам нужно отредактировать ваше второе действие и поместить в его XML ImageView, вы не можете передать ImageView из Activity в другое, но вы можете передать рисование и установить его вImageView во втором занятии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...