Несколько TouchImageView сбрасывают другие, когда вызывается setImageDrawable

Я пытаюсь использовать несколько TouchImageView в одном представлении. Затем одним щелчком в TouchImageView выберите изображение из галереи для отображения в TouchImageView. Но проблема в том, что когда я устанавливаю новое изображение из галереи в одном TouchImageView, другое также сбрасывается, что означает, что последнее масштабирование по-прежнему находится справа от этого TouchImageView, но последняя позиция изображение внутри, которое перемещается.

Вот мой код:

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" 
android:orientation="vertical">

<com.example.imagedragpinchtest.TouchImageView 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:id="@+id/TIV1"
    android:src="@drawable/ic_launcher"
    android:background="@drawable/dashline"
    android:layerType="software"
    />
<com.example.imagedragpinchtest.TouchImageView 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:id="@+id/TIV2"
    android:src="@drawable/ic_launcher"
    android:background="@drawable/dashline"
    android:layerType="software"/>
</LinearLayout>

MainActivity.java

package com.example.imagedragpinchtest;
public class MainActivity extends Activity {

TouchImageView tiv1,tiv2;
int selected = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tiv1 = (TouchImageView) findViewById(R.id.TIV1);
    tiv2 = (TouchImageView) findViewById(R.id.TIV2);
    tiv1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            selected = 1;
            Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            startActivityForResult(intent, selected);
        }
    });
    tiv2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            selected = 2;
            Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            startActivityForResult(intent, selected);
        }
    });

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == RESULT_OK){
        String imgPath = getPathFromUri(data.getData());
        Log.e("new", imgPath);
        if(selected == 1)
            tiv1.setImageDrawable(new BitmapDrawable(getResources(), imgPath));
        if(selected == 2)
            tiv2.setImageDrawable(new BitmapDrawable(getResources(), imgPath));
    }

}

public String getPathFromUri(Uri uri) {
    String[] filePathColumn = { MediaStore.Images.Media.DATA };

    Cursor cursor = getContentResolver().query(uri,
            filePathColumn, null, null, null);
    cursor.moveToFirst();

    int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
    String picturePath = cursor.getString(columnIndex);
    cursor.close();

    return picturePath;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

Библиотека TouchImageView.java

Я не могу понять, в чем проблема, я также попытался закомментировать onSaveInstanceState() и onRestoreInstanceState() в TouchImageView. сорт. Но и это не решает проблему. Некоторая помощь будет действительно ощутимой. Заранее спасибо.....


person Ashiq    schedule 13.03.2014    source источник
comment
Вам когда-нибудь удавалось это решить?   -  person RealCasually    schedule 21.08.2014
comment
@RealCasually Нет, не с TouchImageView. Позже я переключился на MyImageView и изменил его в соответствии со своими требованиями. Хотя это не так хорошо, как TouchImageView, так как масштабирование иногда прыгает.....   -  person Ashiq    schedule 21.08.2014