辅助活动没有在Android上启动

时间:2016-06-28 15:01:23

标签: java android android-studio android-activity

已解决:只需在手机中进行全新安装即可。我取消了我的应用程序,然后通过android studio重新安装它,一切正常。

我正在尝试创建一个Android应用程序,我有一个"关于"我的操作栏中的菜单项。 当我点击"关于"没有任何事情发生,新的活动永远不会出现。

这是我的代码:

https://example.com/v1/AUTH_account/?extract-archive=tar.gz

即使我在运行程序并单击“选项”菜单上的“约”时检查了该ID与R.id.about相同,但活动仍未启动。

我的DisplayAbout类尽可能简单,只有一个文本视图:

    @Override
public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();

    final ViewGroup viewGroup = (ViewGroup) ((ViewGroup) this
            .findViewById(android.R.id.content)).getChildAt(0);
    int id_view = viewGroup.getId();

    if (id == R.id.themeChanger) {
        if (id_view == R.id.activity_main) {
            setContentView(R.layout.activity_main_dark_modern);
        } else if(id_view == R.id.dark_modern) {
            setContentView(R.layout.activity_main_light_modern);
        } else if(id_view == R.id.light_modern)
        {
            setContentView(R.layout.activity_main);
        }
    } else if(id == R.id.about)
    {
        Intent intent = new Intent(this, DisplayAbout.class);
        intent.putExtra("key", id);
        startActivity(intent);
    }

    return super.onOptionsItemSelected(item);
}

同样在清单文件中我有:

package com.tzegian.simplelitecalculator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class DisplayAbout extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_display_about);
}

例如,当id == R.id.themeChanger时,我的代码就像一个魅力,但不适用于" about"下方。

我在android studio工作,我在真正的LG设备上测试。

更新:首次点击选项后的LOGCAT以及第二次点击关于MenuItem后的LOGCAT

    <activity
        android:name=".DisplayAbout"
        android:label="@string/about">
    </activity>

3 个答案:

答案 0 :(得分:1)

我相信您已经验证过您提到的ID。和

int id = item.getItemId();

不为空(我的意思是观点)

尝试使用,

Intent i = new Intent(getApplicationContext(),DisplayAbout.class); startActivity(ⅰ);

答案 1 :(得分:0)

我的猜测是id错了,vm永远不会进入if块。试一试。

答案 2 :(得分:0)

我通过从手机中取消应用程序来解决我的问题,然后重新进行全新安装。