1

这是一些不断崩溃的代码(书中的简化版本)。Android版本14。如果我删除该行:android:onClick =“onGroupItemClick”,就可以了。有谁知道为什么以及如何解决它。

谢谢

activity_menu_test.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/menu1"
        android:title="Item 1"/>
    <item
        android:id="@+id/menu2"
        android:title="Item 2">
        <menu>
            <group
                android:id="@+id/group1"
                android:checkableBehavior="single" >
                <item
                    android:id="@+id/group_item1"
                    android:onClick="onGroupItemClick"
                    android:title="Sub1"/>
                <item
                    android:id="@+id/group_item2"
                    android:onClick="onGroupItemClick"
                    android:title="Sub2"/>
                <item
                    android:id="@+id/group_item3"
                    android:onClick="onGroupItemClick"
                    android:title="Sub3"/>
            </group>
        </menu>
    </item>
</menu>


MenuTestActivity:
public class MenuTestActivity extends Activity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_menu_test, menu);
        return true;
    }

    public void onGroupItemClick(MenuItem item) {   
        if (item.isChecked()) {
            item.setChecked(false); 
        } else {
            item.setChecked(true);
        }   
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {    
        Toast.makeText(this, item.getTitle(), Toast.LENGTH_LONG).show();
        return true;    
    }    
}

java.lang.IllegalStateException:问题解析行:com.android.internal.net.NetworkStatsFactory.readNetworkStatsDetail(NetworkStatsFactory.java:247) 处的 com.android.internal.net.NetworkStatsFactory.readNetworkStatsDetail(NetworkStatsFactory.java:313) 处为空com.android.internal.os.BatteryStatsImpl.getNetworkStatsDetailGroupedByUid(BatteryStatsImpl.java:5734) 在 com.android.internal.os.BatteryStatsImpl.access$100(BatteryStatsImpl.java:76) 在 com.android.internal.os.BatteryStatsImpl$Uid .computeCurrentTcpBytesReceived(BatteryStatsImpl.java:2457) 在 com.android.internal.os.BatteryStatsImpl$Uid.getTcpBytesReceived(BatteryStatsImpl.java:2446) 在 com.android.internal.os.BatteryStatsImpl.writeSummaryToParcel(BatteryStatsImpl.java:5437) 在com.android.internal.os.BatteryStatsImpl.writeLocked(BatteryStatsImpl.java:4836) 在 com.android.server.am.ActivityManagerService.updateCpuStatsNow(ActivityManagerService.java:1600) 在 com.android.server.am.ActivityManagerService 的 com.android.internal.os.BatteryStatsImpl.writeAsyncLocked(BatteryStatsImpl.java:4818) $3.run(ActivityManagerService.java:1482) 原因:java.io.FileNotFoundException:/proc/net/xt_qtaguid/stats:打开失败:在 libcore.io.IoBridge.open(IoBridge. java:406) 在 java.io.FileInputStream.(FileInputStream.java:78) 在 java.io.FileReader.(FileReader.java:42) 在 com.android.internal.net.NetworkStatsFactory.readNetworkStatsDetail(NetworkStatsFactory.java:272 ) ... 10 更多原因:libcore.io.ErrnoException: open failed: ENOENT (No such file or directory) at libcore.io.Posix.open(Native Method) at libcore.io.BlockGuardOs。open(BlockGuardOs.java:98) 在 libcore.io.IoBridge.open(IoBridge.java:390) ... 13 更多

4

0 回答 0