在MainAcitivty.java中,我使用项目填充Arraylist。我需要在customadapter类中使用这些项目,因为我需要它们在textview中设置某些行的颜色。
我有一个动态数组:storage [],其大小在此过程中设置:
storage = new int[db];
此数组具有以下项目,例如:35,56,67
arraylist“myArr3”具有相同的项目,但元素的类型是字符串。
这是myArr3 arraylist的定义:
ArrayList<String> myArr3 = new ArrayList<String>();
我正在寻找一个解决方案来管理其他类中的这些项,无论它是整数类型数组还是字符串类型arraylist。
在MyCustomBaseAdapter2.java中,我设置了适配器的布局:
package com.bfarago.nevnap;
import java.util.ArrayList;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class MyCustomBaseAdapter2 extends BaseAdapter {
private static ArrayList<SearchResults> searchArrayList;
private LayoutInflater mInflater;
public MyCustomBaseAdapter2(Context context, ArrayList<SearchResults> results) {
searchArrayList = results;
mInflater = LayoutInflater.from(context);
}
public MyCustomBaseAdapter2(OnClickListener onClickListener,
ArrayList<SearchResults> searchResults) {
// TODO Auto-generated constructor stub
}
public int getCount() {
return searchArrayList.size();
}
public Object getItem(int position) {
return searchArrayList.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.row2, null);
holder = new ViewHolder();
holder.txtName = (TextView) convertView.findViewById(R.id.left);
holder.txtCityState = (TextView) convertView.findViewById(R.id.right);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txtName.setText(searchArrayList.get(position).getName());
holder.txtCityState.setText(searchArrayList.get(position).getCityState());
return convertView;
}
static class ViewHolder {
TextView txtName;
TextView txtCityState;
}
}
答案 0 :(得分:0)
您可以将整数数组更改为字符串ArrayList
,然后使用ArrayList
Adapter
您可以将整数数组更改为字符串数组,以便
int storage [] = new int[db];
int stringstorage[] = new String[db];
for (int i = 0; i < db; i++) {
stringstorage[i] =storage[i] ;
}
现在将stringstorage
更改为ArrayList
List<String> l = Arrays.asList(stringstorage);
ArrayList<String> list = new ArrayList<String>(l);
现在根据需要使用list
。
希望这会对你有所帮助。
答案 1 :(得分:0)
解决方案是使用Intent将数组从一个活动传递到另一个活动。
答案可以在this
中找到