Java ArrayList中数组的ArrayAdapter
我正在尝试用arrayadapter填充listviewJava ArrayList中数组的ArrayAdapter,java,android,arrays,arraylist,Java,Android,Arrays,Arraylist,我正在尝试用arrayadapter填充listview public class MainActivity extends Activity { int numOfArray=3; float val= (float) 5.23; String b="col"; String c="usd"; @Override protected void onCreate(Bundle savedInstanceState) {
public class MainActivity extends Activity {
int numOfArray=3;
float val= (float) 5.23;
String b="col";
String c="usd";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String[] mView;
List<String[]> mString = new ArrayList<>();
for (int i=0; i<numOfArray; i++) {
mView = new String[3];
mView[0] = c;
mView[1] = b;
mView[2] = String.valueOf(val);
mString.add(mView);
}
ListAdapter mAdapter = new custom_adapter(this, mString);
ListView mListView = (ListView)findViewById(R.id.listView);mListView.setAdapter(mAdapter);
}
}
我一直在搜索如何在arraylist中获取这些数组的元素值以填充textview,但我无法得到任何答案或参考
任何回答或引用都会有所帮助。tyvm.您不能在数组“aString.get(0)”上使用方法,而应该使用“aString[0]” 因此:
String[] mString = (String[]) getItem(position);
String[] aString = mString; **aString.get(0);**
应该是这样的:
String[] mString = (String[]) getItem(position);
String[] aString = mString;
**String value = aString[0];**
你的问题是什么?我希望它有帮助您不能在数组上使用方法“aString.get(0)”,而应该使用“aString[0]” 因此:
String[] mString = (String[]) getItem(position);
String[] aString = mString; **aString.get(0);**
应该是这样的:
String[] mString = (String[]) getItem(position);
String[] aString = mString;
**String value = aString[0];**
你的问题是什么?我希望它有帮助问题在于,您没有像这样通过
constructor
获取arraylist
值
看到你的错误了吗
this.mStringarray=mString;
就这样在这里
mText.setText(mStringarray[position]);
现在使用下面的代码
class custom_adapter extends ArrayAdapter{
String[] mStringarray;
public custom_adapter(Context context, List<String[]> mString) {
super(context, R.layout.custom_list,mString);
this.mStringarray=mString;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater mInflater = LayoutInflater.from(getContext());
View customView = mInflater.inflate(R.layout.custom_list, parent, false);
TextView mText = (TextView) customView.findViewById(R.id.textView);
mText.setText(mStringarray[position]);
ImageView mImage = (ImageView) customView.findViewById(R.id.image);mImage.setImageResource(R.drawable.image);
return customView;
}
}
class自定义_适配器扩展了ArrayAdapter{
字符串[]mStringarray;
公共自定义_适配器(上下文、列表字符串){
super(上下文、右布局、自定义列表、mString);
this.mStringarray=mString;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutInflater mInflater=LayoutInflater.from(getContext());
视图customView=mInflater.flate(R.layout.custom\u列表,父项,false);
TextView mText=(TextView)customView.findViewById(R.id.TextView);
mText.setText(mStringarray[position]);
ImageView mImage=(ImageView)customView.findViewById(R.id.image);mImage.setImageResource(R.drawable.image);
返回自定义视图;
}
}
问题在于,您没有像这样通过constructor
获取arraylist
值
看到你的错误了吗
this.mStringarray=mString;
就这样在这里
mText.setText(mStringarray[position]);
现在使用下面的代码
class custom_adapter extends ArrayAdapter{
String[] mStringarray;
public custom_adapter(Context context, List<String[]> mString) {
super(context, R.layout.custom_list,mString);
this.mStringarray=mString;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater mInflater = LayoutInflater.from(getContext());
View customView = mInflater.inflate(R.layout.custom_list, parent, false);
TextView mText = (TextView) customView.findViewById(R.id.textView);
mText.setText(mStringarray[position]);
ImageView mImage = (ImageView) customView.findViewById(R.id.image);mImage.setImageResource(R.drawable.image);
return customView;
}
}
class自定义_适配器扩展了ArrayAdapter{
字符串[]mStringarray;
公共自定义_适配器(上下文、列表字符串){
super(上下文、右布局、自定义列表、mString);
this.mStringarray=mString;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutInflater mInflater=LayoutInflater.from(getContext());
视图customView=mInflater.flate(R.layout.custom\u列表,父项,false);
TextView mText=(TextView)customView.findViewById(R.id.TextView);
mText.setText(mStringarray[position]);
ImageView mImage=(ImageView)customView.findViewById(R.id.image);mImage.setImageResource(R.drawable.image);
返回自定义视图;
}
}
aString是一个数组,数组上没有get方法。使用aString[0]aString是一个数组,数组上没有get方法。使用aString[0]可能我的提问方式有点混乱。但我试图在arraylist中获取数组元素。不是来自arraylist。我的回答是“快”,也许我的提问方式有点混乱。但我试图在arraylist中获取数组元素。不是来自arraylist。对于“快速”的响应,请输入ty