2012-12-19 49 views
1

我正在設置Click Counter android應用程序。最大計數爲500,計數顯示在TextView字段中。
我希望能夠在計數介於0-100之間時顯示一個圖像,然後在計數介於101-400之間時再顯示另一個圖像,然後在401-500之間再次顯示第一個圖像。 我是Java新手,不知道如何設置。這是我到目前爲止的代碼:在textview更改時實現圖像更改

import android.app.Activity; 
import android.content.Intent; 
import android.content.SharedPreferences.Editor; 
import android.media.AudioManager; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 
import android.view.View.OnClickListener; 
import android.widget.EditText; 
import android.preference.PreferenceManager; 

public class wazeefa extends Activity { 

//Count Button 
TextView txtCount; 
Button btnCount; 
int count = 0; 
Button wmute; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.wazeefa); 

    //button sound 
    final MediaPlayer mpButtonClick = MediaPlayer.create(this, R.raw.countbutton); 

    txtCount = (TextView)findViewById(R.id.wcount); 
    txtCount.setText(String.valueOf(count)); 
    btnCount = (Button)findViewById(R.id.wclick); 

    btnCount.setOnClickListener(new OnClickListener() { 
     public void onClick(View V) { 
      count++; 
      if (count > 500) 
       count = 0; 
      txtCount.setText(String.valueOf(count)); 
      mpButtonClick.start(); 
     }}); 
    ;} 
    } 

新的代碼看起來像這樣在大衛的/ SHREYA的建議:

public void onClick(View V) { 
     ImageView image = (ImageView) findViewById(R.id.imageview); 
      count++; 
      if (count > 500) count = 0; 
      if (count < 1) image.setImageResource(R.drawable.duroodimage); 
      if (count > 0) image.setImageResource(R.drawable.duroodimage); 
      if (count > 100) image.setImageResource(R.drawable.zikrimage); 
      if (count > 400) image.setImageResource(R.drawable.duroodimage); 
      txtCount.setText(String.valueOf(count)); 
      mpButtonClick.start(); 
     }}); 
    ;} 

但當相關數已經達到了圖像不改變...

爲ImageView的

XML代碼:

<ImageView 
    android:id="@+id/imageview" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 
+0

你在xml佈局中有一個'ImageView'嗎? –

回答

1

你可以把代碼來改變圖像在b tnCount的onClickListener。

btnCount.setOnClickListener(new OnClickListener() { 
    public void onClick(View V) { 
     ImageView image = findViewById(...); // ... is the id of ImageView 
     count++; 
     if (count > 500) count = 0; 
     if (count > 100) image.setDrawable(...); // 100~200 
     if (count > 200) image.setDrawable(...); // 200~300 
     // ... and then 300~400 and 400~500 
     txtCount.setText(String.valueOf(count)); 
     mpButtonClick.start(); 
    } 
}); 
+0

嗨大衛,我試着添加你的建議,正如你可以看到上面。 但我得到以下錯誤: - 方法setDrawable(新View.OnClickListener(){},int)未定義類型查看 – Mustafa

+1

哦,對不起。您需要將'View image = findViewById ...'更改爲'ImageView image =(ImageView)findViewById ...' –

+0

嗨,如上所述更改代碼後仍然存在同樣的問題。 – Mustafa