RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 751563
Accepted
Artik Slayer
Artik Slayer
Asked:2020-11-30 06:03:35 +0000 UTC2020-11-30 06:03:35 +0000 UTC 2020-11-30 06:03:35 +0000 UTC

带有 GridView 的应用程序以黑屏响应

  • 772

我拆卸 GridView,我在 YouTube 上观看视频。比如这个家伙。

代码如下。

MainActivity.java

package com.example.android.theend;

import android.content.Context;
import android.content.res.Resources;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    GridView myGrid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        myGrid = (GridView) findViewById(R.id.gridView);
        myGrid.setAdapter(new PokedexAdapter(this));
    }
}

class Pokemon{
    int imageId;
    String pokemonName;
    Pokemon(int imageId,String pokemonName){
        this.imageId=imageId;
        this.pokemonName=pokemonName;
    }
}

class PokedexAdapter extends BaseAdapter{

    private ArrayList<Pokemon> list;
    private Context context;

    PokedexAdapter(Context context){

        this.context=context;
        list = new ArrayList<Pokemon>();

        Resources res=context.getResources();
        String[] tempPokemonNames = res.getStringArray(R.array.pokemon_names);
        int[] pokemonImages = {
                R.drawable.one,R.drawable.two,R.drawable.three,
                R.drawable.four,R.drawable.five,R.drawable.six,
                R.drawable.seven,R.drawable.eight,R.drawable.nine
        };

        for(int i=0;i<9;i++){
            Pokemon tempPokemon = new Pokemon(pokemonImages[i],tempPokemonNames[i]);
            list.add(tempPokemon);
        }
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int i) {
        return list.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    class ViewHolder{
        ImageView myPokemon;
        ViewHolder(View v){
            myPokemon = (ImageView) v.findViewById(R.id.imageView);
        }
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {

        View row = view;
        ViewHolder holder = null;

        if(row==null){

            //first time
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            row = inflater.inflate(R.layout.single_item,viewGroup,false);
            holder=new ViewHolder(row);
            row.setTag(holder);

        }else{

            //recycling
            holder = (ViewHolder) row.getTag();
        }

        Pokemon temp=list.get(i);
        holder.myPokemon.setImageResource(temp.imageId);

        return row;
    }
}

Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.android.theend.MainActivity">


    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="58dp"
        android:text="Информация" />

    <GridView
        android:id="@+id/gridView"
        android:layout_width="match_parent"
        android:layout_height="375dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:numColumns="auto_fit"
        android:horizontalSpacing="10dp"
        android:verticalSpacing="10dp"
        android:columnWidth="120dp"
        android:stretchMode="spacingWidthUniform"/>
</RelativeLayout>

Single_item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/one" />
</RelativeLayout>

字符串.xml

<resources>
    <string name="app_name">TheEnd</string>
    <string-array name="pokemon_names">
        <item>001. Бульбазавр</item>
        <item>002. Ивизавр</item>
        <item>003. Венузавр</item>
        <item>004. Чармандер</item>
        <item>005. Чармелеон</item>
        <item>006. Чаризард</item>
        <item>007. Сквиртл</item>
        <item>008. Вартортл</item>
        <item>009. Бластойз</item>
    </string-array>
</resources>

理论上,在这个阶段,应用程序应该显示一个 GridView,其中包含 9 个图像,没有任何交互。

但应用程序显示黑屏。我请求指导。指出我的任何愚蠢错误。很高兴有任何建议。

PS这里是图像格式以防万一。

在此处输入图像描述

android
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Artik Slayer
    2020-11-30T20:33:17Z2020-11-30T20:33:17Z

    解决方案原来是。

    从ImageView元素中的Single_item.xml文件中删除以下行:

    android:src="@drawable/one"

    由于我们以编程方式为ImageView设置文件,因此在xml中设置它是不正确的。就像我想通了一样。至少赚了。

    在此处输入图像描述

    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5