android context的别
16lz
2021-01-23
if (isChecked) { if (temp != -1) { RadioButton tempButton = (RadioButton) ((Activity)context_).findViewById(temp); if (tempButton != null) { tempButton.setChecked(false); } } temp = buttonView.getId(); }
这是在一个继承baseAdapter的自定义适配器类(不是acitvity中的内部类)里的getView方法中,
其它上面的这代码的context_必须为那个activity类的this,或是activity类名.this,通过构造方法传入这个适配器类中,不能是baseContext(),或是getApplicationContext(),如果是后两者就会报classCaseException异常,也就是说会类型转换错误!
public View getView( int arg0, View arg1, ViewGroup arg2) {if(Flag){if(arg1==null){LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
而这代码中的context,必须是那个activity中getApplicattonContext(),不能是getBaseContext(),或是Activty的context,如果是两者,程序就会报NullException异常,
注:我的那个activity界面是通过一个inflater引导进来了,
更多相关文章
- android几种适配器的使用
- android适配器的简单使用
- Android静态注册内部类广播BroadcastReceiver
- Handler 内部类导致的内存泄露修改方法
- Java中的匿名内部类:由setOnClickListener说起
- 内部类联想到Android的Listener
- 打造Android万能适配器Adapter
- android 适配器里面的按钮点击切换
- android如何在xml中引用内部类