我有一个ListView,其布局为标题,只是我想以编程方式更改文本和图像。我不知道将它放在代码中的哪个位置。这是我的代码http://plaatscode.be/141928/(密码:Android),这是我要放置的代码:
MenuFoto.setImageResource(R.drawable.------);
MenuTitle.setText(getResources().getString(R.string.------));
MenuInfo.setText(getResources().getString(R.string.------));
注意:http://plaatscode.be/141928/上的代码是完全正常运行的代码。
我必须在上面的代码中放置哪些才能使其正常工作? 提前谢谢!
答案 0 :(得分:2)
从评论中获得新信息的编辑回复
您更新了代码,因此我将更新我的答案。您将MenuFoto,MenuTitle和MenuInfo放在错误的位置。而不是:
MenuFoto = (ImageView) findViewById(R.id.ProductFoto);
MenuTitle = (TextView) findViewById(R.id.ProductTitle);
MenuInfo = (TextView) findViewById(R.id.ProductInfo);
执行:
ImageView menuFoto = (ImageView) header.findViewById(R.id.MenuFotoID);
TextView menuTitle = (TextView) header.findViewById(R.id.MenuTitleID);
TextView menuInfo = (TextView) header.findViewById(R.id.MenuInfoID);
menuFoto.setImageResource(R.drawable.------);
menuTitle.setText(getResources().getString(R.string.------));
menuInfo.setText(getResources().getString(R.string.------));
后:
ViewGroup header = (ViewGroup)inflater.inflate(R.layout.productenlistviewheader, list, false);
之前:
list.addHeaderView(header, null, false);
在MenuFoto = (ImageView) findViewById(R.id.ProductFoto);
中,您试图在ContentView中获取ID(当您setContentView
定义ContentView时)。但是,您希望从标题中获取您的ID,因此您必须在标题上执行findViewById(使用inflate.inflate
。