缺少 android 个包 - API22
missing android packages - API22
在我的应用程序中,我正在尝试实现自定义列表适配器。该应用程序使用简单的列表适配器可以正常工作,但将其切换为自定义会使屏幕呈现空白。没有错误。
调试时,在模块 ListView.java 中显示缺少某些包
- com.google.android.collect.Lists;
- android.util.MathUtils
- android.view.ViewRootImpl;
我无法通过 google 搜索找到如何获取这些包。你能帮忙找出需要安装哪些软件包以及从哪里安装吗?
我在 API 22 上使用此应用程序(主要是因为我的测试设备无法升级到 API 22 以上)
为自定义适配器添加代码
package app.monty.lordsknightsapp.adapters;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.HashMap;
import java.util.List;
import app.monty.lordsknightsapp.R;
public class PlayerGrowthAdapter extends BaseAdapter {
protected Context context;
protected List<String[]> growthActivity;
public PlayerGrowthAdapter(Context context, List<String[]> growthActivity){
this.context = context;
this.growthActivity = growthActivity;
}
@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) {
if (convertView == null){
context = parent.getContext();
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.list_row, null);
}
TextView textView = (TextView) convertView.findViewById(R.id.tvListRow);
textView.setBackgroundColor(Color.RED);
textView.setText("hola");
return convertView;
}
public View getView1(int position, View convertView, ViewGroup parent) {
if (convertView == null){
Context context = parent.getContext();
LinearLayout view = new LinearLayout(context);
view.setOrientation(LinearLayout.HORIZONTAL);
TextView nameTextView = new TextView(context);
//nameTextView.setText(growthActivity.get(1)[0]);
nameTextView.setText("Hola");
nameTextView.setPadding(0, 0, 10, 0);
view.addView(nameTextView);
return view;
}
return convertView;
}
}
SDK 管理器sets up 您的开发环境。
确保您实现了 getCount()
函数,该函数用于告诉适配器您的列表中有多少数据,如果不返回列表的长度,您的列表将不会显示。
@Override
public int getCount() {
return growthActivity.size();
}
实施适配器的其他部分也不会造成任何伤害。
在我的应用程序中,我正在尝试实现自定义列表适配器。该应用程序使用简单的列表适配器可以正常工作,但将其切换为自定义会使屏幕呈现空白。没有错误。
调试时,在模块 ListView.java 中显示缺少某些包
- com.google.android.collect.Lists;
- android.util.MathUtils
- android.view.ViewRootImpl;
我无法通过 google 搜索找到如何获取这些包。你能帮忙找出需要安装哪些软件包以及从哪里安装吗?
我在 API 22 上使用此应用程序(主要是因为我的测试设备无法升级到 API 22 以上)
为自定义适配器添加代码
package app.monty.lordsknightsapp.adapters;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.HashMap;
import java.util.List;
import app.monty.lordsknightsapp.R;
public class PlayerGrowthAdapter extends BaseAdapter {
protected Context context;
protected List<String[]> growthActivity;
public PlayerGrowthAdapter(Context context, List<String[]> growthActivity){
this.context = context;
this.growthActivity = growthActivity;
}
@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) {
if (convertView == null){
context = parent.getContext();
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.list_row, null);
}
TextView textView = (TextView) convertView.findViewById(R.id.tvListRow);
textView.setBackgroundColor(Color.RED);
textView.setText("hola");
return convertView;
}
public View getView1(int position, View convertView, ViewGroup parent) {
if (convertView == null){
Context context = parent.getContext();
LinearLayout view = new LinearLayout(context);
view.setOrientation(LinearLayout.HORIZONTAL);
TextView nameTextView = new TextView(context);
//nameTextView.setText(growthActivity.get(1)[0]);
nameTextView.setText("Hola");
nameTextView.setPadding(0, 0, 10, 0);
view.addView(nameTextView);
return view;
}
return convertView;
}
}
SDK 管理器sets up 您的开发环境。
确保您实现了 getCount()
函数,该函数用于告诉适配器您的列表中有多少数据,如果不返回列表的长度,您的列表将不会显示。
@Override
public int getCount() {
return growthActivity.size();
}
实施适配器的其他部分也不会造成任何伤害。