2011-08-19 70 views

Trả lời

9

đọc sau:

public void kết thúc()

Gọi này khi hoạt động của bạn được thực hiện và cần được đóng lại. ActivityResult được truyền lại cho bất kỳ ai đã khởi chạy bạn qua onActivityResult().

public void finishActivity (int requestCode)

Force hoàn thành một hoạt động mà trước đó bạn đã bắt đầu với startActivityForResult (Ý định, int).

Để đọc thêm, hãy xem documentation.

+1

Câu trả lời của bạn là hữu ích, nhưng bạn có thể làm cho nó tốt hơn bằng cách bao gồm một phần tóm tắt hoặc có liên quan của các trang bạn đang liên kết đến. Điều này cũng sẽ giúp câu trả lời của bạn vẫn tuyệt vời ngay cả khi các liên kết bạn bao gồm phá vỡ trong tương lai. http://meta.stackexchange.com/questions/92505/should-i-flag-answers-which-contain-only-a-link-as-not-an-answer – Janusz

+0

Tôi đã trích dẫn các dòng yêu cầu trước nhận xét của bạn. Bạn đang dành thời gian để làm mới trang. – NAVEED

+0

thx nhưng không cần phải xóa liên kết :) – Janusz

16

finish() Gọi điều này khi hoạt động của bạn hoàn tất và sẽ đóng lại. ActivityResult được truyền lại cho bất kỳ ai đã khởi chạy bạn qua onActivityResult().

finishActivity(int requestCode) được sử dụng để kết thúc một hoạt động mà trước đó bạn đã bắt đầu với startActivityForResult (Ý định, int)

+0

Tôi tin rằng câu trả lời này có thể hơi lỗi thời. Tôi chạy vào một vấn đề bằng cách sử dụng 'finishActivity (int)' để trở về một hoạt động bắt đầu với 'startActivityForResult (int)', và thấy nó không hoạt động * ở tất cả *. Nó đã xây dựng lại, một thiết lập lại, và cuối cùng thực hiện 'kết thúc()' *** thay vì *** trước khi nó thực sự làm việc. – Gnemlock

1

Vì vậy, về cơ bản bạn có thể gọi hoạt động khác trong Android từ Hoạt động khác thông qua Intent trong Android. Khi bạn gọi startActivityForResult, bạn đang gọi một Hoạt động khác với hy vọng rằng kết quả của mã/thay đổi trong trạng thái ứng dụng của bạn sẽ xảy ra. Ví dụ: tôi chạy Hoạt động chính của mình, tuy nhiên tôi gọi một Hoạt động khác đặt nhiều trường/biến khác nhau trong ứng dụng thành các giá trị nhất định (nghĩa là người dùng thiết lập cài đặt của ứng dụng). Sau đó, khi Activity đó kết thúc và bạn phải quay lại Activity đã gọi nó, bạn có thể gọi finishActivity để gửi một requestCode sẽ gắn cờ cho dù Activity được gọi đã thực hiện theo cách bạn muốn.

3

finish() Gọi điều này khi hoạt động của bạn hoàn tất và sẽ đóng lại. ActivityResult được truyền lại cho bất kỳ ai đã khởi chạy bạn qua onActivityResult().

finishActivity(int requestCode) Buộc hoàn thành một hoạt động khác mà bạn đã bắt đầu trước đó với startActivityForResult(Intent, int).

requestCode Mã yêu cầu của hoạt động mà bạn đã cung cấp cho startActivityForResult(). Nếu có nhiều hoạt động bắt đầu với mã yêu cầu này, tất cả chúng sẽ được hoàn tất.

Các vấn đề liên quan