1

ClickCounterandroidアプリをセットアップしています。最大カウントは500で、カウントはTextViewフィールドに表示されます。
カウントが0〜100のときに1つの画像を表示し、カウントが101〜400のときに別の画像を表示し、次に401〜500の間に最初の画像を表示できるようにしたい。Javaは初めてで、わからない。これを設定する方法。これまでの私のコードは次のとおりです。

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(); 
        }});
    ;}
    }

David's / 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" />
4

1 に答える 1

1

画像を変更するコードをbtnCountの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(); 
    }
});
于 2012-12-19T23:55:29.887 に答える