在GridView中的ImageView上的ImageView

时间:2014-01-20 19:56:22

标签: android gridview imageview

我正在尝试在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

我的问题:如何在国家/地区图片上显示复选标记?

1 个答案:

答案 0 :(得分:2)

尝试更改复选标记图像,如下所示:

<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"/>