救救孩子吧,他闪退了

救救孩子吧,他闪退了


package com.example.applistview;

import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import java.util.ArrayList;
import java.util.List;

public class AppListActivity extends AppCompatActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_app_list);
       final ListView appListView = (ListView) findViewById(R.id.app_list_view);

       List<String> list=new ArrayList<String>();
       list.add("学习天数1");
       list.add("学习天数2");
       list.add("学习天数3");
       list.add("学习天数4");
       list.add("学习天数5");
       appListView.setAdapter(new ApplistAdapter(list));
   }



   //视图和数据绑定的类
      public  class ApplistAdapter extends BaseAdapter{
       List<String> list;
       //这就是要填充的数据列表
       public ApplistAdapter(List<String> appNames) {
           this.list=appNames;
       }

       @Override
           public int getCount() {
               //有多少条数据
               return list.size();
           }

           @Override
           public Object getItem(int position) {
               //返回获取当前position位置这一条
               return list.get(position);
           }

           @Override
           public long getItemId(int position) {
               //返回获取当前position位置这一条的ID
               return position;
           }

           @Override
           public View getView(final int position, View convertView, ViewGroup parent) {
              //处理view --data 填充数据的一个过程
               ViewHolder viewHolder;

               LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
              if(convertView==null) {
                  viewHolder = new ViewHolder();
                  convertView = layoutInflater.inflate(R.layout.item_app_list_view, null);
                  viewHolder.mAppPositionView =(TextView) convertView.findViewById(R.id.app_name_text_position);
                  viewHolder.mAppNameTextView=(TextView)convertView.findViewById(R.id.app_name_text_view);
                   convertView.setTag(viewHolder);//对应
              }else{
                  viewHolder= (ViewHolder) convertView.getTag();
              }

               viewHolder.mAppNameTextView.setText(list.get(position));
              viewHolder.mAppNameTextView.setText(position);
               return convertView;
           }
           public class ViewHolder{
           public TextView mAppPositionView;
           public TextView mAppNameTextView;
       }
       }



}

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
irista23 2019-10-31 09:58:28

闪退看下Android studio底部的红色报错信息是什么,也可以把报错信息贴出来,方便老师帮你快速找到原因。

  • 提问者 慕工程6972752 #1
    嘻嘻我解决了,我那个 viewHolder.mAppNameTextView.setText(position);插的是int所以他报错了,我把它转String就好了
    2019-10-31 10:55:32
  • irista23 回复 提问者 慕工程6972752 #2
    厉害呦~~
    2019-10-31 12:14:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.Android 网络操作与流行框架
  • 参与学习           人
  • 提交作业       220    份
  • 解答问题       1800    个

本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师