数据未在gridView Android中显示

zod101

我想加载要显示在gridView中的数据。

它运行没有任何错误。但是,屏幕保持空白,并且不会显示gridView。

这是我的代码

MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    fragment f = new fragment();
    FragmentManager manager = getSupportFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();
    transaction.add(R.id.main_id,f).commit();

}

fragment.java

public class fragment extends Fragment {

    public final String [] Names={"Ahmed","Ahmed1","Ahmed2","Ahmed3","Ahmed4","Ahmed5","Ahmed6","Ahmed7","Ahmed8"};
    public final int [] Images={R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e,R.drawable.f,R.drawable.g,R.drawable.h};
    private CustomAdapter c;
    private GridView g;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view =  inflater.inflate(R.layout.fragment_fragment, container, false);
        c= new CustomAdapter(getActivity().getApplicationContext(),Names,Images);

        g=(GridView) view.findViewById(R.id.gridview);

        g.setAdapter(c);

        g.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                Toast.makeText(getActivity().getApplicationContext(), "You Clicked at " + Names[+position], Toast.LENGTH_SHORT).show();

            }
        });

        return view;
    }

定制适配器

public class CustomAdapter extends BaseAdapter {

    private Context context;
    private String[] Values;
    private int[] imageIds;

    public CustomAdapter(Context c, String[] Values, int[] imageIds) {
        this.context = c;
        this.Values = Values;
        this.imageIds = imageIds;
    }


    @Override
    public int getCount() {
        return 0;
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View grid;

            if(convertView==null) {
                grid= new View (context);
                grid = inflater.inflate(R.layout.item, null);
                TextView textView = (TextView) grid.findViewById(R.id.itemName);
                ImageView imageView = (ImageView) grid.findViewById(R.id.itemImage);
                textView.setText(Values[position]);
                imageView.setImageResource(imageIds[position]);
            }
            else {
                grid = (View) convertView;
            }

        return grid;
    }
}

fragment_fragment.xml

<GridView
        android:numColumns="auto_fit"
        android:gravity="center"
        android:columnWidth="100dp"
        android:stretchMode="columnWidth"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/gridview"
        />

item.xml

 <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/itemImage"
        android:src="@drawable/a"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="item"
        android:id="@+id/itemName"
        android:layout_marginStart="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        />
W0rmH0le

getCount() 返回0。

该方法必须返回适配器中的项目数量。类似:

@Override
public int getCount() {
    return this.Values.lenght;
}

当然,您可以添加null检查等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数据未在gridView Android中显示

来自分类Dev

GridView视觉上未在BindingList中显示新数据

来自分类Dev

数据表副本未在GridView中正确显示

来自分类Dev

GridView 未在 uwp 中显示记录

来自分类Dev

数据未在Highcharts中显示

来自分类Dev

在Gridview中显示表数据

来自分类Dev

在Gridview中显示表数据

来自分类Dev

Firebase中的数据未在RecyclerView中显示

来自分类Dev

菜单中的图标未在android中显示

来自分类Dev

获取方法未在WebAPI中显示数据

来自分类Dev

数据未在Highchart中显示/绘制

来自分类Dev

纠正未在iOS图表中显示的数据

来自分类Dev

android gridview不显示改造数据

来自分类Dev

如何从GridView中获取未在GridView中显示的主键值-C#

来自分类Dev

SoftKeyboard未在Xamarin Android中显示

来自分类Dev

列未在Android的GridLayout中显示

来自分类Dev

卢比符号未在Android中显示

来自分类Dev

Android设备未在Eclipse中显示

来自分类Dev

动态添加的行未在android中显示

来自分类Dev

外部图片未在Android中显示

来自分类Dev

吐司未在Android Studio中显示

来自分类Dev

列未在Android的GridLayout中显示

来自分类Dev

动态添加的行未在android中显示

来自分类Dev

RestTemplate Spring未在Android中显示

来自分类Dev

Gridview数据显示

来自分类Dev

薪资列未在Gridview中更新

来自分类Dev

图像按钮未在Gridview中触发

来自分类Dev

Android:在gridview中而不是在listview中显示来自远程数据库的数据(将ListView转换为GridView)

来自分类Dev

从sqlite获取数据并在gridview中显示