2016-03-15 23 views
-1

我有布爾人i和'j'。如何在android的onclick方法下分配一個布爾值?

我想只有一個圖像「two」被點擊的方法。 點擊圖像「one」後點擊圖像「2」的其他方法。 請幫忙先生。我有麻煩了。

如何從onclick方法獲取返回值。

public class MainActivity extends AppCompatActivity{ 
    boolean I,j; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     final ImageView one=(ImageView) findViewById(R.id.imageView1); 
     final ImageView two=(ImageView) findViewById(R.id.imageView2); 
     i=false; 
      j=false; 
     one.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       i=true; 
      } 
     }); 
      two.setOnclickListener(new View.OnClickListener(){ 
        @Override 
        public void onclick(View v){ 
          j=true; 

         } 

     if (i){ 
      three.setImageResource(R.drawable.green1); 
     } 
      if(j){ 
        three.setImageResourse(R.drawable.red1) 
     } 
      if(I==true&& j==true) 
       three.setImageResoure(R.drawable.yellow1) 
    } 
} 
+0

你想顯示按鈕點擊圖像> ?? –

回答

1

你的問題是你不明白你寫的代碼的流程。

一步一步:

  1. 該應用開始。 i未初始化。
  2. Activity已創建i設置爲false。
  3. OnClickListener設置爲您的ImageView
  4. if語句被激發來檢查i。這是錯誤的(在這一點上它只能是錯誤的)。
  5. 在某些時候,您點擊ImageViewi變爲true。

您可以愉快地將您的two.setImageResource(R.drawable.green1);行移動到onClick(View v)函數的主體中。

因此,它看起來像這樣:

one.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     two.setImageResource(R.drawable.green1); 
    } 
}); 
0
one.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     i=true; 
     if (i){ 
     //if you want change vale to false (i = false) 
     two.setImageResource(R.drawable.green1); 
     } 

}); 
+0

請告訴我們更多關於此代碼的信息。你提供了一個與問題沒有明顯聯繫的答案。雖然這可能是一個很好的答案,但它需要解釋,爲什麼。 – thst

0

剛剛嘗試這樣的:

public class MainActivity extends AppCompatActivity{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     final ImageView one=(ImageView) findViewById(R.id.imageView1); 
     final ImageView two=(ImageView) findViewById(R.id.imageView2); 
     one.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       two.setImageResource(R.drawable.green1); 
      } 
     }); 
    } 
} 
相關問題