Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调用一个的setImageDrawable时,Multiple TouchImageView会重置另一个_Java_Android_Touchimageview - Fatal编程技术网

Java 调用一个的setImageDrawable时,Multiple TouchImageView会重置另一个

Java 调用一个的setImageDrawable时,Multiple TouchImageView会重置另一个,java,android,touchimageview,Java,Android,Touchimageview,我试图在一个视图中使用多个。然后在TouchImageView中单击,从图库中拾取图像以在TouchImageView中显示。但问题是,当我在一个TouchImageView中设置gallery中的新图像时,另一个也被重置,这意味着最后一次缩放仍在该TouchImageView的右侧,但图像在其中的最后一个位置被重新定位 这是我的密码: activity_main.xml 图书馆 我无法找出问题所在,我还尝试注释掉TouchImageView类的onSaveInstanceState和onRes

我试图在一个视图中使用多个。然后在TouchImageView中单击,从图库中拾取图像以在TouchImageView中显示。但问题是,当我在一个TouchImageView中设置gallery中的新图像时,另一个也被重置,这意味着最后一次缩放仍在该TouchImageView的右侧,但图像在其中的最后一个位置被重新定位

这是我的密码:

activity_main.xml

图书馆


我无法找出问题所在,我还尝试注释掉TouchImageView类的onSaveInstanceState和onRestoreInstanceState。但这也不能解决问题。一些帮助将是非常值得的。提前感谢….

你能解决这个问题吗?@realcasully不,不是用TouchImageView。后来我切换到并根据我的规格修改了它。虽然它不如TouchImageView,但由于缩放有时会跳跃。。。。。
<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>
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;
}

}