import of android.R

R.java


在我们开发Android应用程序的过程中,贯穿始终都会有一个R.java文件,那么很多网友发现在Eclipse中创建的Android工程中 包含这个一个R.java文件,这个文件到底是干什么用的呢? 其实Android自己维护这一个public final class R类主要是跟新资源文件,这个R.java无需我们自己去修改,如果你不了解千万不要去修改它,它定义的每个资源值都是唯一的,不会和系统冲突。这个文件 由ADT插件自动更新,当你编辑过Res文件后保存,这个类就会自动更新。

R.java里面一般有attr、drawable、id、raw、layout、string以及xml等,根据你工程使用的资源而定。无法当R.java文件丢失时,就需要重建这个,但是可能会存在一些问题,比如资源无法自动更新。

  • 当布局文件有问题R.java没有自动生成,表示R无法自动解析,由于错误无法生成R.java 文件,当将光标移动到错误时,会被建议import android.R
  • 当使用快捷方式导包时 import android.R会自动添加,这时会突然出现很多错误。

  • android.R是一个R.java文件。就像对自己项目中under your /res folder like layouts,
    drawables, XML files, raw files, strings etc.
  • 另一方面该android.R文件保存对android已经建立资源默认的引用
  • Eclipse建议这样做,有时会自动导入,因为您的项目的R文件由于XML错误或某些东西而未生成,您的代码将引用不存在的文件。通过导入android.R,eclipse会确保您的代码引用存在的类。但是,android.R您不可能拥有相同的资源,这会引发另一组错误。

推荐一个社区 stackoverflow.com
许多问题都可以找到解决方法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完善代码import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import java.util.HashMap; import java.util.List; public class FBaseAdapter extends BaseAdapter { private LayoutInflater layoutInflater ; private List<HashMap<String, Object> > list ; public FBaseAdapter (Context context , List<HashMap<String, Object>> list){ this.layoutInflater = LayoutInflater .from(context ) ; this.list = list ; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return i; } @Override public View getView(final int i, View view, ViewGroup viewGroup) { // LayoutInflater layoutInflater = getLayoutInflater(); View v = layoutInflater.inflate(R.layout.item, null); View l = layoutInflater.inflate(R.layout.listlayout, null); TextView tv_title = v.findViewById(R.id.itemtitle); TextView tv_content = v.findViewById(R.id.itemdetail ); TextView tv_price = v.findViewById(R.id.price); TextView tv_num = v.findViewById(R.id.num); ImageView imageView = v.findViewById(R.id.itemimage); Button btnadd = v.findViewById(R.id.addnum); Button btnsub = v.findViewById(R.id.subnum); TextView txtsum = l.findViewById(R.id.txtsum) ; HashMap hashMap = list.get(i); imageView.setImageResource((Integer) hashMap.get("image")); tv_title.setText(hashMap.get("title").toString()); tv_content.setText(hashMap.get("content").toString()); tv_num.setText(hashMap.get("num").toString()); tv_price.setText(hashMap.get("price").toString()); btnadd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int num = (int) list.get(i).get("num"); num++; list.get(i).put("num", num); int totalsum = num * (int) list.get(i).get("price"); notifyDataSetChanged(); txtsum.setText(String.valueOf(totalsum)); } }); btnsub.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int num = (int) list.get(i).get("num"); if (num > 0) num--; else num = 0; list.get(i).put("num", num); int totalsum = num * (int) list.get(i).get("price"); notifyDataSetChanged(); txtsum.setText(String.valueOf(totalsum)); } }); return v; } }
06-07

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值