再次重新加载后,ListView消失

阿山

我有3个arraylist,我将它们组合起来显示在listview中。当我单击以生成列表视图时,它第一次运行良好,但是当我回击然后再次单击按钮时,列表视图什么也不显示。不知道是什么原因造成的。我检查了其他帖子,但找不到答案。我对Arraylist不太满意,所以任何细节都将不胜感激。

我在Log cat中也注意到了此消息。不知道这意味着什么。

调用onVisibilityChanged(),可见性:0

public class Edit extends Activity implements OnItemClickListener {

private int pic;
 public String filename ="User Info";
  //Declaring SHareddPreference as userprofile
    static SharedPreferences userprofile;
    ListView listView;
    List<RowItem> rowItems;
//  String[] titles, descriptions;
    File imgpath=null;
    Context context=this;
    CustomListAdapter adapter;
    private List<String> Titles = new ArrayList<String>();
    private List<String> Actions = new ArrayList<String>();
    private List<Bitmap> Images = new ArrayList<Bitmap>();

int x;
    int y=1;
 int z=1;
   static int a=1;


      @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.aname);

            listView = (ListView)findViewById(R.id.listing);


            userprofile = getSharedPreferences(filename,0); 
            Intent pdf=getIntent();
            pic= userprofile.getInt("lastpic",pic);
                 x=pic;
                 Log.d("editpic",new Integer(pic).toString());


            while(y!=x){

                String comment = commentresult();
                Titles.add(comment);
                y++;
                Log.d("y",new Integer(y).toString());
                }

            while(z!=x){

                String act = actionresult();
                Actions.add(act);
                z++;
                Log.d("z",new Integer(z).toString());}

            while(a!=x){

                Bitmap photo = getbitmap();
                Images.add(photo);
                a++;
                Log.d("a",new Integer(a).toString());}




            Titles.toArray();
            Actions.toArray();
            Images.toArray();



        rowItems = new ArrayList<RowItem>();
        for (int i = 0; i < Images.size(); i++) {
            RowItem item = new RowItem(Images.get(i), Titles.get(i),Actions.get(i));
            rowItems.add(item);
        }

        Log.d("TAG", "listview null? " + (listView == null));
        CustomListAdapter adapter = new CustomListAdapter(this,
                R.layout.aname_list_item, rowItems);
        Log.d("TAG", "adapter=null? " + (adapter == null));




        listView.setAdapter(adapter);
        adapter.notifyDataSetChanged();
        listView.setOnItemClickListener(this);

    }


    public static Bitmap getbitmap() {

        String photo1 =userprofile.getString("picpath"+a, "");
        File imgpath=new File(photo1);

         ByteArrayOutputStream stream = new ByteArrayOutputStream();

            Bitmap bmp=DecodeImage.decodeFile(imgpath, 800, 1000, true);
            bmp.compress(Bitmap.CompressFormat.JPEG, 100 , stream);
        Bitmap photo2=bmp;

    return photo2;
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
            long id) {
        Toast toast = Toast.makeText(getApplicationContext(),
            "Item " + (position + 1) + ": " + rowItems.get(position),
            Toast.LENGTH_SHORT);
        toast.setGravity(Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0);
        toast.show();
    }






 public String commentresult()
 { 
//   String com2 = null;
//   while(y!=x){

    String comment=userprofile.getString("comment"+y, "");
    String com1=comment;
    String com2=com1;
//   }

 return com2;
 }

 public String actionresult()
 { 
// String act2 = null;
//   while(y!=x){
    String action=userprofile.getString("action"+z, "");
     String act1=action;
    String act2=act1;
//  }
     return act2;
 }



 private static final long delay = 2000L;
    private boolean mRecentlyBackPressed = false;
    private Handler mExitHandler = new Handler();
    private Runnable mExitRunnable = new Runnable() {

        @Override
        public void run() {
            mRecentlyBackPressed=false;   
        }
    };
    @Override
    public void onBackPressed() {

        //You may also add condition if (doubleBackToExitPressedOnce || fragmentManager.getBackStackEntryCount() != 0) // in case of Fragment-based add
        if (mRecentlyBackPressed) {
            mExitHandler.removeCallbacks(mExitRunnable);
            mExitHandler = null;
            super.onBackPressed();


        }
        else
        {
            mRecentlyBackPressed = true;
            Toast.makeText(this, "press again to exit", Toast.LENGTH_SHORT).show();
            mExitHandler.postDelayed(mExitRunnable, delay);
        }
    }

 @Override
  public void onDestroy() {
    // Destroy the AdView.

    super.onDestroy();
 }

自定义列表适配器:

 public class CustomListAdapter extends ArrayAdapter<RowItem> {

    Context context;
    List<RowItem> items;
    public CustomListAdapter(Context context, int resourceId,
        List<RowItem> items) {
    super(context, resourceId, items);
    this.context = context;
    this.items = items;
  }

 @Override
 public int getCount() {
    // TODO Auto-generated method stub
    return items.size();
}

  @Override
    public RowItem getItem(int position) {
        // TODO Auto-generated method stub
        return items.get(position);
    }

  @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

/*private view holder class*/
private class ViewHolder {
    ImageView imageView;
    TextView txtTitle;
    TextView txtDesc;
}

public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder = null;
    RowItem rowItem = getItem(position);

    LayoutInflater mInflater = (LayoutInflater) context
            .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.aname_list_item, null);

        holder = new ViewHolder();
        holder.txtDesc = (TextView) convertView.findViewById(R.id.desc);
        holder.txtTitle = (TextView) convertView.findViewById(R.id.rab);
        holder.imageView = (ImageView) convertView.findViewById(R.id.icon);
        convertView.setTag(holder);
    } else
        holder = (ViewHolder) convertView.getTag();


//  String name=items.get(position).getDesc();

    holder.txtDesc.setText(rowItem.getDesc());
    holder.txtTitle.setText(rowItem.getTitle());
    holder.imageView.setImageBitmap(rowItem.getImageId());
//   holder.imageView.setImageResource(Images.get(position) .getPlaceholderleft());

    return convertView;
}
 }
十六进制和错误

看起来这是因为您已经将变量x,y,z和all都设置了static,这意味着该类的所有实例共享一个变量实例。因此,当您onCreate第二次调用时,您的所有while循环终止条件都已得到满足,因此while循环永远不会执行。我不清楚为什么要创建这些变量static,因此除非需要它们,否则应删除static这些变量关键字。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重新加载ListView后消失

来自分类Dev

重新绘制后,ListView消失

来自分类Dev

HasMany对象在重新加载后消失

来自分类Dev

重新加载后数据表按钮消失

来自分类Dev

重新加载 Puppeteer => page.setCookie(...cookies) 后 Cookie 消失了

来自分类Dev

提交后,输入文本消失并重新加载页面(AJAX)

来自分类Dev

播放框架:JDBC驱动程序类在重新加载后消失

来自分类Dev

在angularjs中重新加载状态后,离子标题栏消失了

来自分类Dev

使用ajax重新加载后,jQuery数据表格式消失了

来自分类Dev

QWebEngine和QWebChannel:页面重新加载后,传输对象`qt.webChannelTransport`消失了

来自分类Dev

通过代码将子视图添加到视图中,重新加载后消失

来自分类Dev

单击重新加载网格按钮后的jQgrid,所有数据均消失

来自分类Dev

QWebEngine&QWebChannel:页面重新加载后,传输对象“ qt.webChannelTransport”消失了

来自分类Dev

在angularjs中重新加载状态后,离子标题栏消失了

来自分类Dev

重新加载Mathjax =再次强制排版

来自分类Dev

单击重置按钮后数据未附加到我们再次重新加载页面以附加数据

来自分类Dev

重新加载时ViewPage片段消失

来自分类Dev

AngularJS模板重新加载,页面消失

来自分类Dev

隔离完成后再次加载数据

来自分类Dev

重绘后按钮消失,鼠标移入时再次显示

来自分类Dev

重新启动后,我的wlan0消失了,并不断收到断开连接的消息,我该如何再次启动它?

来自分类Dev

如何在VueJs中再次加载(重新加载)组件或销毁它并再次加载?

来自分类Dev

重新启动后符号链接消失

来自分类Dev

重新启动后Linux RAID消失

来自分类Dev

重新启动后,SimpleXML模块消失

来自分类Dev

重新加载ListView-Android

来自分类Dev

button.isHidden 再次点击按钮视图(背景)后再次消失

来自分类Dev

返回后重新加载UITableview

来自分类Dev

登录后重新加载数据

Related 相关文章

  1. 1

    重新加载ListView后消失

  2. 2

    重新绘制后,ListView消失

  3. 3

    HasMany对象在重新加载后消失

  4. 4

    重新加载后数据表按钮消失

  5. 5

    重新加载 Puppeteer => page.setCookie(...cookies) 后 Cookie 消失了

  6. 6

    提交后,输入文本消失并重新加载页面(AJAX)

  7. 7

    播放框架:JDBC驱动程序类在重新加载后消失

  8. 8

    在angularjs中重新加载状态后,离子标题栏消失了

  9. 9

    使用ajax重新加载后,jQuery数据表格式消失了

  10. 10

    QWebEngine和QWebChannel:页面重新加载后,传输对象`qt.webChannelTransport`消失了

  11. 11

    通过代码将子视图添加到视图中,重新加载后消失

  12. 12

    单击重新加载网格按钮后的jQgrid,所有数据均消失

  13. 13

    QWebEngine&QWebChannel:页面重新加载后,传输对象“ qt.webChannelTransport”消失了

  14. 14

    在angularjs中重新加载状态后,离子标题栏消失了

  15. 15

    重新加载Mathjax =再次强制排版

  16. 16

    单击重置按钮后数据未附加到我们再次重新加载页面以附加数据

  17. 17

    重新加载时ViewPage片段消失

  18. 18

    AngularJS模板重新加载,页面消失

  19. 19

    隔离完成后再次加载数据

  20. 20

    重绘后按钮消失,鼠标移入时再次显示

  21. 21

    重新启动后,我的wlan0消失了,并不断收到断开连接的消息,我该如何再次启动它?

  22. 22

    如何在VueJs中再次加载(重新加载)组件或销毁它并再次加载?

  23. 23

    重新启动后符号链接消失

  24. 24

    重新启动后Linux RAID消失

  25. 25

    重新启动后,SimpleXML模块消失

  26. 26

    重新加载ListView-Android

  27. 27

    button.isHidden 再次点击按钮视图(背景)后再次消失

  28. 28

    返回后重新加载UITableview

  29. 29

    登录后重新加载数据

热门标签

归档