mur*_*rkr 0 android android-activity
所以,我有一个带有几张图片的菜单和一个onClick打开新页面的方法。这适用于除一个之外的所有菜单项。那一个的编写方式与其余的完全相同,但是当单击菜单项时,会出现一个空白的新页面,标题正确,但是 - 显然 - 没有调用onCreate新活动的方法。
也没有错误消息。
启动 Activity 的代码:
public void onClick(View v) {
Intent intent = null;
Context context = v.getContext();
switch(position) {
case 0:
intent = new Intent(context, BooksActivity.class);
break;
case 1:
intent = new Intent(context, GamesActivity.class);
break;
case 2:
intent = new Intent(context, MusicActivity.class);
break;
case 3:
intent = new Intent(context, FilesActivity.class);
break;
case 4:
intent = new Intent(context, VideosActivity.class);
break;
}
context.startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
除了 FilesActivity 之外,每个活动都像魅力一样。在 FilesActivity.onCreate 方法中,我打印了一个日志:
Log.d(TAG, "initialized");
Run Code Online (Sandbox Code Playgroud)
但该日志从未显示。
知道这里发生了什么吗?
编辑: 所有活动都以相同的方式添加到清单中:
<activity
android:name=".MusicActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_music"
android:parentActivityName=".MainActivity"
android:theme="@style/FullscreenTheme">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.wilzek.hoerstift.MainActivity" />
</activity>
<activity
android:name=".FilesActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_files"
android:parentActivityName=".MainActivity"
android:theme="@style/FullscreenTheme">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.wilzek.hoerstift.MainActivity" />
</activity>
Run Code Online (Sandbox Code Playgroud)
编辑: Files.Activity onCreate:
public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
setContentView(R.layout.activity_files);
Log.e(TAG, "INITIALIZED");
listView = (ListView)findViewById(R.id.files_list);
listView.setOnItemClickListener(onItemClickListener);
try {
files = Arrays.asList(USBCommunicationManager.getRootDir().listFiles());
Log.e(TAG, "Root Dateien: " + files.size());
} catch (Exception e) {
Log.e(TAG, "Root Dateien konnten nicht gefetcht werden. Yay denglish.");
}
filesAdapter = new FilesAdapter(this, files);
listView.setAdapter(filesAdapter);
}
Run Code Online (Sandbox Code Playgroud)
在 FilesActivity 覆盖中
protected void onCreate(Bundle savedInstanceState);
Run Code Online (Sandbox Code Playgroud)
代替
protected void onCreate(Bundle savedInstanceState, @Nullable PersistableBundle persistentState);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
635 次 |
| 最近记录: |