подскажите с регистрацией Activity
Добавлено: 05 авг 2014, 15:11
В проекте реализован объект MyApplication (extends Application), который самостоятельно вызывает ListViewActivity через startActivity (хочу хранить в MyApplication общие данные).
При отладке выяснилось, что конструктор ListViewActivity не запускается. Подозреваю, что неправильно зарегистрирована Activity - не подскажите, что надо изменить в манифесте (предполагается ТОЛЬКО ручной запуск Activity) ?
Кусок Манифеста:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:name=".MyApplication">
<activity
android:name=".ListViewActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Начало MyApplication
public class MyApplication extends Application {
// ------ ГЛОБАЛЬНЫЕ ДАННЫЕ ------
ArrayList<Web_site> sites;
@Override
public void onCreate () {
super.onCreate();
sites = new ArrayList<Web_site>();
Log.d("XXX", "sites created");
sites.add(new Web_site("site1", "text1"));
sites.add(new Web_site("site2", "text2"));
sites.add(new Web_site("site3", "text3"));
Log.d("XXX", "sites filled");
Intent intent = new Intent(this, ListViewActivity.class);
startActivity(intent);
}
Начало ListViewActivity
public class ListViewActivity extends Activity {
MyAdapter my_adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("XXX", "onCreate ListView started");
MyApplication app = (MyApplication) getApplication();
Log.d("XXX", "app.received");
my_adapter = new MyAdapter(this, app.sites);
Log.d("XXX", "adapter created");
setContentView(R.layout.activity_list_view);
}
}
При отладке выяснилось, что конструктор ListViewActivity не запускается. Подозреваю, что неправильно зарегистрирована Activity - не подскажите, что надо изменить в манифесте (предполагается ТОЛЬКО ручной запуск Activity) ?
Кусок Манифеста:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:name=".MyApplication">
<activity
android:name=".ListViewActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Начало MyApplication
public class MyApplication extends Application {
// ------ ГЛОБАЛЬНЫЕ ДАННЫЕ ------
ArrayList<Web_site> sites;
@Override
public void onCreate () {
super.onCreate();
sites = new ArrayList<Web_site>();
Log.d("XXX", "sites created");
sites.add(new Web_site("site1", "text1"));
sites.add(new Web_site("site2", "text2"));
sites.add(new Web_site("site3", "text3"));
Log.d("XXX", "sites filled");
Intent intent = new Intent(this, ListViewActivity.class);
startActivity(intent);
}
Начало ListViewActivity
public class ListViewActivity extends Activity {
MyAdapter my_adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("XXX", "onCreate ListView started");
MyApplication app = (MyApplication) getApplication();
Log.d("XXX", "app.received");
my_adapter = new MyAdapter(this, app.sites);
Log.d("XXX", "adapter created");
setContentView(R.layout.activity_list_view);
}
}