У меня есть два проекта: SourceProject и TestProject. В Source-проекта у меня есть следующий класс:Переопределить части класса Activity из TestProject
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.i("", "normal mode");
}
}
В моем тестовом проекте я хотел бы изменить/отменить журнальное сообщение, например. Конечно, я могу сделать следующее и просто поставить новый класс в том же пути пакета и изменить класс следующим образом:
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.i("", "test mode");
}
}
Но, допустим, у меня есть гораздо больше функциональных возможностей в своем классе и хотел бы использовать эту функциональность (и в моем тестовом классе). Я не могу просто расширить мой SourceProject-Class «MyActivity», потому что он назван одинаково. Но если я изменю имя на «MyActivityX extends MyActivity», он, очевидно, не будет скомпилирован в приложение.
У кого-нибудь есть решение, которое не требует от меня копирования всего исходного класса в тестовый проект и его изменения там?
Но тогда я не мог изменить его для своих целей тестирования. Это будет по сути то же самое, что вообще не иметь этот файл в моем тестовом проекте. –
Вы можете попробовать использовать некоторую систему управления версиями, иметь несколько ветвей для одного и того же файла, при необходимости объединить. Попробуйте Git или Svn. –