2012-02-25 17 views

回答

4

我相信你看到這些,當你反編譯的apk文件。經過一些試驗和錯誤,我發現false實際上沒有做任何事情。你可以放任何東西而不是布爾值。

那麼爲什麼會出現錯誤?根據我的實驗,如果您在編譯我的apk文件後在項目中創建文件ids.xml,我會在編譯的ids​​.xml中看到與我在項目ids.xml中看到的完全相同的行。但是,如果我不將我的ID放在ids.xml中並使用@+id/myId創建它,我將在編譯的ids​​.xml中看到一個標記,其值爲false。我希望這回答您qestion

我ids.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <item name="test_id" type="id"/> 
    <item name="test_id2" type="id">false</item> 
    <item name="test_id3" type="id">This is a test String</item> 
    <item name="test_id4" type="id">749274927492</item> 
</resources> 

在我的佈局

<TextView 
     android:id="@+id/myId" 
     android:text="@string/hello_world" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

ids.xml生成

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <item type="id" name="test_id" /> 
    <item type="id" name="test_id2">false</item> 
    <item type="id" name="test_id3">This is a test String</item> 
    <item type="id" name="test_id4">1950617988</item> 
    <item type="id" name="myId">false</item> 
    <item type="id" name="action_bar_activity_content" /> 
    <item type="id" name="action_menu_divider" /> 
    <item type="id" name="action_menu_presenter" /> 
    <item type="id" name="action_bar_root">false</item> 
    <item type="id" name="action_bar_container">false</item> 
    <item type="id" name="action_bar">false</item> 
    <item type="id" name="action_context_bar">false</item> 
    <item type="id" name="split_action_bar">false</item> 
    .... 
</resources>