我正在尝试在 GridView 中使用 ImageView 而不是 ImageView。我已经找到这个问题Android, ImageView over ImageView它确实很熟悉我的问题,但我想在 GridView 内使用问题中描述的布局。
所以我创建了一个包含 <GridView></GridView>
的 .xml 文件(我认为这对显示来说并不是很有用,所以我跳过这个文件)和一个 .xml 文件,其中包含我想在 gridview 中的每个单元格中使用的布局。这是以下文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/rl_act_question_list_alternative" >
<ImageView
android:id="@+id/iv_question_list_country"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:src="@drawable/germany" />
<ImageView
android:id="@+id/iv_question_list_solved"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:src="@drawable/icon_question_solved" />
下一步我将创建 BaseAdapter
的子类重写方法getView(int position, View convertView, ViewGroup parent)
使用以下代码:
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(ActivityLevelsAlternative.this).inflate(R.layout.act_question_list_alternative_item, null);
}
ImageView mCountry = (ImageView) convertView.findViewById(R.id.iv_question_list_country);
ImageView mIconSolved = (ImageView) convertView.findViewById(R.id.iv_question_list_solved);
final VOQuestion question = mLevel.getAllQuestions().get(position);
mCountry.setImageResource(question.getPicture());
mIconSolved.setImageResource(mPrefManager.isQuestionSolved(question.getId()) ? R.drawable.icon_question_solved : R.drawable.icon_question_unsolved);
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(getApplicationContext(), ActivityQuestion.class);
i.putExtra(ActivityQuestion.QUESTION_ID, question.getId());
ActivityLevelsAlternative.this.startActivity(i);
}
});
return convertView;
}
但是结果不是预期的...参见:http://q63i.img-up.net/Screenshotc656.png
我的问题:如何在国家/地区图像上打勾?
最佳答案
尝试像这样更改您的复选标记图像:
<ImageView
android:id="@+id/iv_question_list_solved"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignTop="@id/iv_question_list_country"
android:layout_alignLeft="@id/iv_question_list_country"
android:layout_alignRight="@id/iv_question_list_country"
android:layout_alignBottom="@id/iv_question_list_country"/>
关于android - GridView 中的 ImageView 之上的 ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21242972/