网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月31日漏签0天
android开发吧 关注:225,946贴子:948,959
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 5回复贴,共1页
<<返回android开发吧
>0< 加载中...

Android gridview 空指针

  • 只看楼主
  • 收藏

  • 回复
  • 贝亚娜斗神
  • 托儿所
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
vh.imageViewvh.setImageResource(getItem(i).dataicon);
vh.textViewvh.setText(getItem(i).dataName);
//问题出在这里,这两句都是空指针
package com.zhangyi.zyapp26_27;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
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 android.widget.TextView;
import android.widget.ViewSwitcher;
import java.util.ArrayList;
/**
* Created by me on 2016-11-3.
*/
public class BViewSwitcher extends Activity {
public static final int NUMBER_PER_SCREEN = 12;
public static class DataItem{
public String dataName;
public int dataicon;
}
static class ViewHolder{
ImageView imageViewvh;
TextView textViewvh;
}
private ArrayList<DataItem> items = new ArrayList<>();
private int screenNo = 1;
private int screenCount;
ViewSwitcher myviewswitcher;
LayoutInflater inflater;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.b_viewswitcher);
inflater = LayoutInflater.from(BViewSwitcher.this);
for (int i = 0; i < 40; i++) {
String dataname ="";
int drawable =0;
DataItem item=new DataItem();
switch ((int) (Math.random() * 3)) {
case 0:dataname="Chrome "+i;drawable = R.mipmap.ic_launcher2;break;
case 1:dataname="Picture "+i;drawable = R.mipmap.ic_launcher3;break;
case 2:dataname="Shop "+i;drawable = R.mipmap.ic_launcher4;break;
}
item.dataName = dataname;
item.dataicon = drawable;
items.add(item);
}
screenCount = items.size() % NUMBER_PER_SCREEN == 0 ?
items.size() / NUMBER_PER_SCREEN : items.size() / NUMBER_PER_SCREEN + 1;
myviewswitcher = (ViewSwitcher) findViewById(R.id.myviewswitcher);
myviewswitcher.setFactory(new ViewSwitcher.ViewFactory() {
@Override
public View makeView() {
return inflater.inflate(R.layout.datagridview, null);
}
});
next(null);
}
public void previous(View view) {
if (screenNo > 1) {
screenNo--;
myviewswitcher.setInAnimation(this, R.anim.push_left_in);
((GridView) myviewswitcher.getNextView()).setAdapter(adapter);
myviewswitcher.showPrevious();
}
}
public void next(View view) {
if (screenNo < screenCount) {
screenNo++;
myviewswitcher.setInAnimation(this, R.anim.push_right_in);
((GridView) myviewswitcher.getNextView()).setAdapter(adapter);
myviewswitcher.showNext();
}
}
private BaseAdapter adapter = new BaseAdapter() {
@Override
public int getCount() {
if (screenNo == screenCount && items.size() % NUMBER_PER_SCREEN != 0) {
return items.size() % NUMBER_PER_SCREEN;
}
return NUMBER_PER_SCREEN;
}
@Override
public DataItem getItem(int i) {
return items.get((screenNo - 1) * NUMBER_PER_SCREEN + i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
View view1 = view;
ViewHolder vh=new ViewHolder();
ViewGroup viewGroup2=(ViewGroup) getLayoutInflater().inflate(R.layout.datagridview, null);
vh.imageViewvh = (ImageView) viewGroup2.findViewById(R.id.imagedata);
vh.textViewvh = (TextView) viewGroup2.findViewById(R.id.textdata);
try {
vh.imageViewvh.setImageResource(getItem(i).dataicon);
vh.textViewvh.setText(getItem(i).dataName);
//问题出在这里,这两句都是空指针
} catch (Exception e) {
e.printStackTrace();
}
// ViewGroup parent1 = (ViewGroup) vh.imageViewvh.getParent();
// if (parent1 != null) {
// parent1.removeAllViews();
// }
//
// ViewGroup parent11 = (ViewGroup) vh.textViewvh.getParent();
// if (parent11 != null) {
// parent11.removeAllViews();
// }
// viewGroup2.addView(vh.imageViewvh);
// viewGroup2.addView(vh.textViewvh);
// if (view1 == null) {
// view1 = inflater.inflate(R.layout.datagridview, viewGroup,false);
// }
// ImageView imageView = (ImageView) viewGroup2.findViewById(R.id.imagedata);
// TextView textView = (TextView) viewGroup2.findViewById(R.id.textdata);
// try {
//
// imageView.setImageResource(getItem(i).dataicon);
// imageView.setImageResource(R.mipmap.ic_launcher2);
// textView.setText(getItem(i).dataName);
// }catch (Exception e){
// e.printStackTrace();
// }
return viewGroup2;
}
};
}


  • 正在登陆ltr
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
欢迎加入Android技术交流,群号码:220292693


2025-07-31 04:20:03
广告
不感兴趣
开通SVIP免广告
  • vision丶疯人愿
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
空指针是最简单的,往往都是自己不细心导致的


  • 10级斗者意志
  • 高三年级
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
是吗,真有意思


  • 10级斗者意志
  • 高三年级
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
说的也是 呀嘻嘻


  • 贝亚娜斗神
  • 托儿所
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有没有大神来解答


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回android开发吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示