2011-02-28 59 views
0

在MainAcitivty.java中,我使用项目填充Arraylist。我需要这些项目在我的customadapter类,因为我需要他们设置在textview中的某些行的颜色。Android将活动中的数组传递给customadapter类

我有一个动态数组:存储[],其大小的处理过程中设置:

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

答案可以[这里] [1]主题中找到被发现。 [1]:http://stackoverflow.com/questions/5069694/android-array-as-global-variable – erdomester 2011-09-06 09:57:24

回答

0

解决方案是使用意图将数组从一个活动传递到另一个活动。

答案可以在this

0

您可以在Adapter

你可以改变你的整数整数数组改变为一个字符串ArrayList然后使用ArrayList array to string array to like

int storage [] = new int[db]; 
int stringstorage[] = new String[db]; 
for (int i = 0; i < db; i++) { 
stringstorage[i] =storage[i] ; 
} 

现在将stringstorage更改为yo乌尔ArrayList

List<String> l = Arrays.asList(stringstorage); 
    ArrayList<String> list = new ArrayList<String>(l); 

现在使用list为您的需要。

希望这会帮助你。

+0

1.什么是你的ArrayList和矿山之间的区别? 2.我该如何在其他课堂上使用这个数组列表? – erdomester 2011-02-28 21:41:40

+0

我只是将你的整数数组转换为字符串arraylist.So,你可以在你的'MyCustomBaseAdapter2'中使用它。让我知道你面对的问题在哪里 – 2011-03-01 04:38:00

相关问题