2017-03-06 2 views
0

イメージビューでイメージを変更する際に、別のイメージで多くの質問がありましたが、別の問題があります。イメージビューのxvソースを変更するには

私はdrawableフォルダにxml形式の2つのsvgイメージが必要です。 イメージビューをクリックしてイメージを切り替える必要があります。イメージa.xmlがそこにある場合、それをクリックするとイメージb.xmlが表示されます。これを行うには、イメージビューの現在のxmlイメージソースをフェッチして、別のイメージに設定します。

どうすればよいですか?

MainActivity.java:

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ImageView; 

public class MainActivity extends AppCompatActivity { 
ImageView iv; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     iv = (ImageView) findViewById(R.id.imageView); 

     iv.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       if(v == iv){ 

        if(/* How to check current current source of imagevie here */ ){ 
/* How to set new xml svg source to imagevie here */ 
        } 

       } 

      } 
     }); 


    } 
} 

は、XML:私はImageViewの新しいSVGソースを設定したが、まだことができので

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#fff" 
    tools:context="com.abcd.MainActivity"> 


    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     app:srcCompat="@android:drawable/alert_dark_frame" 
     android:src="@drawable/a" 
     android:layout_centerHorizontal="true" 

     android:id="@+id/imageView" 
     android:layout_alignParentTop="true" /> 


</FrameLayout> 

drawable folder containing two svg sources

答えて

0

は、」部分的な解決策を考え出しました電流源:

if(v == iv){ 

       int k = 10; 
       switch (count) { 
        case 1 : 

         iv.setImageResource(R.drawable.a); 
         k = 0 ; 
         break; 
        case 0 : 
         iv.setImageResource(R.drawable.b); 
         k=1 ; 
         break; 
       } 
       count = k ; 

      } 
関連する問題