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));
}
});
}
}
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));
}
});
}
}
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories