效果:很多表情小图标(ImageButton),加载进了一个dialog,然后通过监听每个小图表的click在页面中的文本后进行append,目前代码是如下实现的,但无法执行,反射获取ImageButton的ID报错,并提示faceName必须是final类型,很茫然,求指教,分不多,但是我的全部了biaoqButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//Toast.makeText(TopicDetailActivity.this,"biaoqing", Toast.LENGTH_SHORT).show();
/*View view = LayoutInflater.from(TopicDetailActivity.this).inflate(R.layout.face_dialog, null);
topicDetail.addView(view);*/
dialog = new Dialog(TopicDetailActivity.this,R.style.UpFace);
View dialogView = getLayoutInflater().inflate(R.layout.face_dialog, null);
dialog.setContentView(dialogView);
dialog.show();
String faceName="";
for(int i=1;i<=88;i++){
faceName="face";
if(i<10){
faceName = faceName+"00"+i;
}else{
faceName = faceName+"0"+i;
}
Field field = R.drawable.class.getDeclaredField(faceName);
int resourceId = Integer.parseInt(field.get(null).toString());
ImageButton imFace = (ImageButton)findViewById(resourceId);
imFace.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EditText content = (EditText) findViewById(R.id.topic_content);
Toast.makeText(TopicDetailActivity.this,faceName, Toast.LENGTH_SHORT).show();
//content.append(faceName);
}
});
} }
});
@Override
public void onClick(View v) {
//Toast.makeText(TopicDetailActivity.this,"biaoqing", Toast.LENGTH_SHORT).show();
/*View view = LayoutInflater.from(TopicDetailActivity.this).inflate(R.layout.face_dialog, null);
topicDetail.addView(view);*/
dialog = new Dialog(TopicDetailActivity.this,R.style.UpFace);
View dialogView = getLayoutInflater().inflate(R.layout.face_dialog, null);
dialog.setContentView(dialogView);
dialog.show();
String faceName="";
for(int i=1;i<=88;i++){
faceName="face";
if(i<10){
faceName = faceName+"00"+i;
}else{
faceName = faceName+"0"+i;
}
Field field = R.drawable.class.getDeclaredField(faceName);
int resourceId = Integer.parseInt(field.get(null).toString());
ImageButton imFace = (ImageButton)findViewById(resourceId);
imFace.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EditText content = (EditText) findViewById(R.id.topic_content);
Toast.makeText(TopicDetailActivity.this,faceName, Toast.LENGTH_SHORT).show();
//content.append(faceName);
}
});
} }
});
解决方案 »
- googlemap开发 始终出不了地图界面
- android手机客户端访问web服务器的数据交互问题,求指点!已贴代码
- 为什么在这里添加按钮监听器就出错
- 关于android MVC结构的单元测试
- scrollvew当内容不足 不显示scrollview 怎么捕捉setOnTouchListener 事件?
- 新手-求个设计思路。。。
- 【httpclient!!!】代理代理!!带验证的代理啊......
- 问下安卓的分享功能,代码怎么写?
- AppRTCDemoActivity demo报错 可能缺动态库 和一下文件
- .NET开源了,对我们开发安卓的有什么影响吗??
- android 使用SDL 报错
- 求android下的消息队列实现
通过GridView搞定了,反射报错,因为未加异常低级错误,感谢2楼,确实是通过tag拿到的