sau một tìm kiếm dài Tôi không thể tìm thấy bất kỳ giải pháp thích hợp nào. Tôi có một Dự án Android-Thư viện với gần như tất cả mã cho ứng dụng. Từ hoạt động chính trong dự án thư viện, tôi bắt đầu Intent to en explicit Activity A. Trong dự án có nguồn gốc của tôi, sử dụng Dự án thư viện, tôi đã mở rộng Hoạt động A này và thêm một số mã mới. Vấn đề là Superclass của Activity A sẽ trả lời và không phải là lớp dẫn xuất.Bắt đầu Hoạt động từ Android-Library-Project
Trong tệp kê khai của Dự án mới sử dụng dự án thư viện, tôi đã khai báo Hoạt động mới với gói mới.
Đây là cuộc gọi Ý định từ Dự án Thư viện:
Intent i = new Intent(getApplicationContext(), AndroidActivity.class);
startActivity(i);
Đây là lớp AndroidActivity có nguồn gốc:
public class AndroidActivity extends de.app.library.activities.AndroidActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
tôi không thể để có được phương pháp onCreate
Các Tệp kê khai từ Dự án thư viện:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.app.library"
android:versionName="1.0"
android:versionCode="1">
<uses-sdk android:minSdkVersion="4" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".activities.MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activities.AndroidActivity" android:label="@string/act_android" />
</application>
Và ở đây Manifest từ Dự án mới:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.app.free"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="4" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name="de.app.library.activities.MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activities.LernenActivity" android:label="@string/act_lernen" />
Vì vậy, tôi có:
de.app.library.activities.AndroidActivity and
de.app.free.activities.AndroidActivity
tôi không muốn làm điều đó thay đổi nhiều đến dự án thư viện beacuase một dự án thứ ba nên sử dụng mã hiện có với AndroidActivity
ALl không hoạt động khác. Ví dụ, bố trí thay đổi được sử dụng từ dự án mới.
Tôi làm cách nào để xử lý sự cố đó? Có thể thay đổi trong Tệp kê khai từ dự án mới mà tôi tuyên bố rằng hoạt động mới nên được gọi thay vì siêu lớp?
Cảm ơn trước!
Trong dự án mới, tôi không có lớp MainActivity. Tôi đang trỏ đến dự án thư viện. Chỉ AndroidActivity có một số thay đổi và đó là lý do tại sao tôi đã mở rộng nó. – treimy