事情是我已经制作了一个应用程序,其中有图标..当我们点击图标时,它改变了它的图像..(即它发光)。并打开另一个活动..但是当按下后,它仍然处于发光状态..所以我想在按下后将其恢复到原始状态
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);
}
});
}
}
答案 0 :(得分:1)
使用onResume()
恢复图像之前的状态:
@Override
protected void onResume() {
about.setImageResource(R.drawable.imageView6);
super.onResume();
}
答案 1 :(得分:0)
在你的主要活动中覆盖onResume()方法并按下后退时执行你真正想要的东西,然后尝试。
答案 2 :(得分:0)
您还可以使用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