您的位置:首页 > 移动开发 > Android开发

Android中获得上下文

2016-06-02 19:28 417 查看
一般情况下,我们要获得一个类的上下文,仅仅只需要用关键字this即可,此类型既是Context类,也是外部类。public class MainActivity extends Activity {
private ListView mainListView;

/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//布局文件
setContentView(R.layout.main_activity);
//获取控件
mainListView = (ListView) findViewById(R.id.main_list);
//适配器
mainListView.setAdapter(new PlacesAdapter(this));
//列表项点击处理
mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
showPhoto(position);
}
});
}
}
而如果想在内部类中获得上下文Context类(如在线程new Runnable(){}中),可以使用外部类.this获得,如:public class MainActivity extends Activity {
/**
* 在主线程显示天气
* @param weather
*/
private void showWeatherOnUiThread(final Weather weather) {
runOnUiThread(new Runnable() {
@Override
public void run() {
//显示

mainListView = (ListView) findViewById(R.id.main_listView);
mainListView.setAdapter(new WeatherAdapter(MainActivity.this));
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android context