如何在android中按下后退时将图像更改回原始状态

时间:2012-05-11 04:25:15

标签: android eclipse-adt

事情是我已经制作了一个应用程序,其中有图标..当我们点击图标时,它改变了它的图像..(即它发光)。并打开另一个活动..但是当按下后,它仍然处于发光状态..所以我想在按下后将其恢复到原始状态

package sditm.app;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.Toast;

public class page1 extends Activity {
/** Called when the activity is first created. */
ImageView about;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.page1);


    about=(ImageView)findViewById(R.id.imageView6);



    about.setClickable(true);




   about.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-gener2ated method stub
            about.setImageResource(R.drawable.helps);
            Intent i=new Intent(getApplicationContext(),aboutActivity.class);
            startActivity(i);
            Toast.makeText(getApplicationContext(), "Enter all fields", Toast.LENGTH_SHORT).show();
            about.setImageResource(R.drawable.help);

        }
    });



}
}

6 个答案:

答案 0 :(得分:1)

使用onResume()恢复图像之前的状态:

 @Override  
    protected void onResume() {  
        about.setImageResource(R.drawable.imageView6);
        super.onResume();  
    }  

答案 1 :(得分:0)

在你的主要活动中覆盖onResume()方法并按下后退时执行你真正想要的东西,然后尝试。

答案 2 :(得分:0)

完成此Activity Life Cycle

您还可以使用onResume(),它可以在您想要返回活动时为您提供帮助。

答案 3 :(得分:0)

您可以在OnbackPressed()中完成当前活动并重新开始此活动。按后退按钮时,此方法将调用。或者您可以尝试将图标图像的onTouch事件用作

about.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getAction()==MotionEvent.ACTION_UP)
            {
                 about.setImageResource(R.drawable.help);

                 Intent i=new Intent(getApplicationContext(),aboutActivity.class);
                startActivity(i);


            }
            if(event.getAction()==MotionEvent.ACTION_DOWN)
            {
                 about.setImageResource(R.drawable.help);
            }
            return false;
        }
    });

它可能对你有所帮助..

答案 4 :(得分:0)

你可以使用选择器为不同的状态定义不同的图像,比如正常,聚焦,按下。

否则,您可以使用onStart方法,只要您的活动在窗口上,就会调用此方法。

答案 5 :(得分:0)

使用按钮代替ImageView,您可以自定义更改每个事件中的按钮颜色或图像...点击此链接.. Click here