android:活动无法启动

时间:2017-08-17 13:36:18

标签: android android-activity

所以,我有一个包含几张图片的菜单和一个onClick方法,可以打开一个新页面。这适用于除一个以外的所有菜单项。那个用与其余部分完全相同的方式编写,但是当单击菜单项时,会出现一个空白的新页面,标题正确,但是 - 显然 - 没有调用新活动的onCreate方法。

也没有错误消息。

启动活动的代码:

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);            
}

就像每个活动的魅力一样,但是FilesActivity。在FilesActivity.onCreate方法中,我打印一个日志:

Log.d(TAG, "initialized");

但该日志从未显示过。

知道这里发生了什么吗?

编辑: 所有活动都以相同的方式添加到清单中:

<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>

编辑: 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);
}

1 个答案:

答案 0 :(得分:4)

在FilesActivity中覆盖

<ExcludeFoldersFromDeployment>bin<

而不是

protected void onCreate(Bundle savedInstanceState);