2010-09-10 27 views
5

Trong chuỗi của tôi, tôi tạo hoạt động bên trong 'B' tại một thời điểm để khởi chạy một hoạt động khác cho kết quả. Tôi cần phải khai báo điều này trong tệp kê khai Android của tôi nhưng không thể tìm ra tên của nó là tiêu chuẩn ".B" không hoạt động như nó nói rằng hoạt động không tồn tại. Làm thế nào tôi có thể khai báo hoạt động này?Khai báo hoạt động bên trong trong Tệp kê khai Android

Cảm ơn

+0

Tôi đã thử các tên của lớp 'A' đặt trước từ đó như '.A.B', và cũng là tên đủ điều kiện nhưng vì điều này bao gồm tên của biến chủ đề, và một 'chạy () 'lệnh đó là bất hợp pháp. – ComethTheNerd

+0

là bạn sử dụng nhật thực nó có thể phát hiện các hoạt động trong dự án của bạn cho bạn, bạn chỉ cần chọn chúng để thêm nó. – schwiz

Trả lời

5
  1. Như ai đó chỉ ra, trong AndroidManifest, sử dụng $ dấu hiệu, như:

    <activity android:name=".A$B"> 
    
  2. Declare lớp B dưới dạng tĩnh:

    public static class B 
    
+3

Công cụ sửa đổi "tĩnh công cộng" thực sự quan trọng! – bk138

1

Làm ngược lại, tạo lớp làm hoạt động và tạo chuỗi làm lớp bên trong.

+0

Phải, tôi đã chuyển lớp bên trong của mình sang hoạt động lưu trữ một trình xử lý vào luồng. Bất kỳ tham chiếu đến biến chủ đề phải được loại bỏ bởi vì để khai báo các hoạt động trong tệp kê khai, nó không chỉ được công khai, mà còn là tĩnh. – ComethTheNerd

5

Để tham chiếu lớp bên trong, hãy sử dụng "$" thay vì dấu chấm.

.A$B 

Nó cũng có thể được mở đầu với đường dẫn gói

com.yourcompany.projectname.A$B 
Các vấn đề liên quan