android 如何在view里关闭activity

lhfy154 2010-08-06 08:38:27
一个activity,用 setContentView(playModelView); 产生了一个相关的view.
在view里如何关闭这个activity,从而返回上一个activity呢?

或者view返回参数,在activity中将自己关闭也可,如何实现呢?
...全文
3481 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
sada09 2012-08-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 2 楼 cn_home 的回复:

首先你要搞明白,是在activity里面添加了一个view,不是view里面添加activity,
要切换,再调一次setContentView(otherView)


呃,我知道是activity 里添加了一个我自己的view,view里运行完了我希望它结束掉本身和activity
我就是不知道怎么做……
[/Quote]把宿主Activity传过去,然后 finish
蜡笔小新啦 2012-08-20
  • 打赏
  • 举报
回复
这么简单的问题,
追风筝的孩子 2012-02-27
  • 打赏
  • 举报
回复
= =。楼主你.....
lhfy154 2012-02-27
  • 打赏
  • 举报
回复
正解……我愚钝了……
[Quote=引用 23 楼 gujinf2008 的回复:]

传参啊,把activity的引用穿过去不就可以了吗?想finish掉就finish()啊。
[/Quote]
lhfy154 2012-02-27
  • 打赏
  • 举报
回复
这是个方法,但是没必要那么麻烦,已经解决了

[Quote=引用 20 楼 qwe19491001 的回复:]

引用 7 楼 lhfy154 的回复:

引用 2 楼 cn_home 的回复:

首先你要搞明白,是在activity里面添加了一个view,不是view里面添加activity,
要切换,再调一次setContentView(otherView)


呃,我知道是activity 里添加了一个我自己的view,view里运行完了我希望它结束掉本身和activity
我就是不……
[/Quote]
网管员李田所 2012-02-22
  • 打赏
  • 举报
回复
finish();
chengchengiloveyou 2012-02-22
  • 打赏
  • 举报
回复

呃,我知道是activity 里添加了一个我自己的view,view里运行完了我希望它结束掉本身和activity
我就是不知道怎么做……
  • 打赏
  • 举报
回复
搞半天不知道楼主在说什么
gujinf2008 2011-12-29
  • 打赏
  • 举报
回复
传参啊,把activity的引用穿过去不就可以了吗?想finish掉就finish()啊。
yjm199 2011-12-25
  • 打赏
  • 举报
回复
finish() 可以吧??

从一个Activity 跳到另一个Activity 以前那个执行了onStop()方法 生命周期没完吧?

关闭当前 上一个执行 onStart()方法吧?
qwe19491001 2011-12-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lhfy154 的回复:]

引用 2 楼 cn_home 的回复:

首先你要搞明白,是在activity里面添加了一个view,不是view里面添加activity,
要切换,再调一次setContentView(otherView)


呃,我知道是activity 里添加了一个我自己的view,view里运行完了我希望它结束掉本身和activity
我就是不知道怎么做……
[/Quote]
用消息队列Handler在view运行完了后通过sendmessage把它finish()
lifujun880912 2011-12-24
  • 打赏
  • 举报
回复
new一个view的时候传过去activity的context。
然后在view中要结束的地方,对context强制转化成你的activity:

((YourActivityClassName)context).finish();
myg_315 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wsy5059 的回复:]

设一个控制的按钮 就好了呀...
m_Button2.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
//退出界面
HelloWordActivity.this.fin……
[/Quote]

如果view和activity不在一个类中,上面好像不行。
可以这样:将HelloWordActivity.this.fin……换成System.exit(0);
Gary8922 2010-12-10
  • 打赏
  • 举报
回复
学习了。以后遇到可以借鉴。
lhfy154 2010-12-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 evespring 的回复:]

LZ如果是想从一个界面切换到另一个界面试试这个:
Intent intent = new Intent();
intent.setClass(this,that.class);
startActivity(intent);
[/Quote]

activity跳转什么的早就会了……这个问题已经解决了。9L说的跟我用的办法一样。
xiaoxue00941 2010-08-14
  • 打赏
  • 举报
回复
只是用finish(),有时候下次再进入应用程序会报错,finish()完后,重写activity的onDestroy()方法,里面System.exit(0);
Dota_noney 2010-08-12
  • 打赏
  • 举报
回复
路过学习中。。。
Vyphn 2010-08-12
  • 打赏
  • 举报
回复
路过,学习。。。
evespring 2010-08-12
  • 打赏
  • 举报
回复
LZ如果是想从一个界面切换到另一个界面试试这个:
Intent intent = new Intent();
intent.setClass(this,that.class);
startActivity(intent);

wsy5059 2010-08-12
  • 打赏
  • 举报
回复
设一个控制的按钮 就好了呀...
m_Button2.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
//退出界面
HelloWordActivity.this.finish();
}
加载更多回复(10)

80,367

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧