標籤:
Context 用於訪問全域資訊的介面
App的資源: strings, drawable資源等等
下面來看一個用Context來範圍資源的粒子
public class MainActivity extends Activity { String TAG = "CARLOZ"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Activity 本身就是一個 Context TextView tv = new TextView(MainActivity.this); tv.setText("hello carloz"); tv.setText(R.string.hello_world); setContentView(tv); String str = (String) getApplicationContext().getResources().getText(R.string.hello_world); Log.d(TAG, str); // 輸出 08-16 11:59:27.402: D/CARLOZ(13255): Hello world! ImageView iv = new ImageView(MainActivity.this); iv.setImageResource(R.drawable.ic_launcher); setContentView(iv); }}
由上代碼可以看出建立一個TextView或者ImageView至少要 一個參數 Context,Activity本身就是一個Context,所以可以複製。
tv.setText(R.string.hello_world); 傳入一個string id, 而setText API內部的代碼是 getContext().getResources().getText(resid); 可以看到,擷取資源需要用到Context。
Android Context作用