天天看點

android 通過 名稱擷取圖檔

一般情況下用不到,使用于特殊情況。

直接貼代碼。

<a href="http://www.devdiv.com/#viewSource">view source</a>

<code>01</code>

<code>public</code> <code>class</code> <code>ReadyDrawable </code><code>extends</code> <code>Activity {</code>

<code>02</code>

<code>    </code><code>/** Called when the activity is first created. */</code>

<code>03</code>

<code>    </code><code>private</code> <code>Button btn;</code>

<code>04</code>

<code>    </code><code>private</code> <code>ImageView iv;</code>

<code>05</code>

<code>    </code> 

<code>06</code>

<code>    </code><code>@Override</code>

<code>07</code>

<code>    </code><code>public</code> <code>void</code> <code>onCreate(Bundle savedInstanceState) {</code>

<code>08</code>

<code>        </code><code>super</code><code>.onCreate(savedInstanceState);</code>

<code>09</code>

<code>        </code><code>setContentView(R.layout.main1);</code>

<code>10</code>

<code>        </code> 

<code>11</code>

<code>        </code><code>iv = (ImageView)findViewById(R.id.tp);</code>

<code>12</code>

<code>        </code><code>btn = (Button)findViewById(R.id.an);</code>

<code>13</code>

<code>        </code><code>btn.setOnClickListener(</code><code>new</code> <code>MyOnClickListener());</code>

<code>14</code>

<code>15</code>

<code>    </code><code>}</code>

<code>16</code>

<code>17</code>

<code>18</code>

<code>    </code><code>/**</code>

<code>19</code>

<code>     </code><code>* 通過java反射機制反射出R.drawable類中的屬性,因為都是靜态常量是以可以擷取屬性對應的值。</code>

<code>20</code>

<code>     </code><code>* @author Administrator</code>

<code>21</code>

<code>     </code><code>*</code>

<code>22</code>

<code>     </code><code>*/</code>

<code>23</code>

<code>    </code><code>public</code> <code>class</code> <code>MyOnClickListener </code><code>implements</code> <code>OnClickListener{</code>

<code>24</code>

<code>25</code>

<code>        </code><code>@SuppressWarnings</code><code>(</code><code>"unchecked"</code><code>)</code>

<code>26</code>

<code>        </code><code>public</code> <code>void</code> <code>onClick(View v) {</code>

<code>27</code>

<code>            </code><code>Class drawable  =  R.drawable.</code><code>class</code><code>;</code>

<code>28</code>

<code>            </code><code>Field field = </code><code>null</code><code>;</code>

<code>29</code>

<code>            </code><code>try</code> <code>{</code>

<code>30</code>

<code>                </code><code>field = drawable.getField(</code><code>"icon"</code><code>);</code>

<code>31</code>

<code>                </code><code>int</code> <code>r_id = field.getInt(field.getName());</code>

<code>32</code>

<code>                </code><code>iv.setBackgroundResource(r_id);</code>

<code>33</code>

<code>            </code><code>} </code><code>catch</code> <code>(Exception e) {</code>

<code>34</code>

<code>                </code><code>Log.e(</code><code>"ERROR"</code><code>, </code><code>"PICTURE NOT FOUND!"</code><code>);</code>

<code>35</code>

<code>            </code><code>}</code>

<code>36</code>

<code>        </code><code>}</code>

<code>37</code>

<code>38</code>

<code>39</code>

<code>40</code>

<code>41</code>

<code>}</code>

繼續閱讀