android - GridView 中的 ImageView 之上的 ImageView

标签 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

我的问题:如何在国家/地区图像上打勾?

最佳答案

尝试像这样更改您的复选标记图像:

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

相关文章:

启用按钮的Android任务

android - 禁用插件并使用 ./gradlew :app:dependencies 检查你的依赖关系树

android - Gradle:升级到 Gradle 2.2.1 后,android.variantFilter 导致构建失败

gridview - 如何将货币属性添加到 .ClientTemplate

android - ImageView构造函数使用

带圆角的 Android ImageView(再次)

android - 无法单击带有 imagebutton 的 ListView 行

android - 调用 ListView.addHeaderView() 时出现 ClassCastException?

sqlite - 安卓 : Populating a GridtView from the SQLite Database

asp.net - GridView AutoGenerateColumns 和排序