Java ListItems ArrayList ListView
伙计们,我试图让下面的代码在exampleArray中存储多个项,但它只获取了第一个部分OutageListItem。我是否需要创建另一个listItem数组来再次循环Java ListItems ArrayList ListView,java,android,arraylist,Java,Android,Arraylist,伙计们,我试图让下面的代码在exampleArray中存储多个项,但它只获取了第一个部分OutageListItem。我是否需要创建另一个listItem数组来再次循环 SectionOutageListItem[] exampleArray = new SectionOutageListItem[outnums.size()]; for(int i = 0; i < outnums.size(); i++) { exampleArray[i] =
SectionOutageListItem[] exampleArray = new SectionOutageListItem[outnums.size()];
for(int i = 0; i < outnums.size(); i++) {
exampleArray[i] =
new SectionOutageListItem("Impact", impacted.get(i), "Outage No. " + outnums.get(i)),
new SectionOutageListItem("status", status.get(i), "Outage No. " + outnums.get(i));
}
CustomOutageDetailListAdapter adapter = new CustomOutageDetailListAdapter(this, exampleArray);
sectionAdapter = new SectionOutageListAdapter(getLayoutInflater(),
adapter);
SectionOutageListItem[]exampleArray=新的SectionOutageListItem[outnums.size()];
对于(int i=0;i
更新:
我有一个自定义适配器,它将节添加到listview,SectionOutageListItem确定该节中有多少行。get(i)创建了多个部分,这些部分应该将影响和状态添加为每个部分的行。它只是将第一个新的SectionOutageListItem作为行添加,而不是第二个
自定义列表适配器代码
public class CustomOutageDetailListAdapter extends ArrayAdapter<SectionOutageListItem> {
private Activity context;
private SectionOutageListItem[] items;
//private final ArrayList<String> itemname;
public CustomOutageDetailListAdapter(Activity context, SectionOutageListItem[] items) {
super(context, R.layout.mylistoutagedetails, items);
this.items= items;
this.context = context;
}
@Override
public View getView(int position,View view,ViewGroup parent) {
LayoutInflater inflater=context.getLayoutInflater();
View rowView=inflater.inflate(R.layout.mylistoutagedetails, null,true);
final SectionOutageListItem currentItem = items[position];
if (currentItem != null) {
TextView txtTitle = (TextView) rowView.findViewById(R.id.item);
TextView txtName = (TextView) rowView.findViewById(R.id.name);
if (txtTitle != null) {
txtTitle.setText(currentItem.item.toString());
}
if (txtName != null) {
txtName.setText(currentItem.name.toString());
}
}
return rowView;
};
公共类CustomOutageDetailListAdapter扩展了ArrayAdapter{
私人活动语境;
私有部分OutageListItem[]项;
//私有最终ArrayList itemname;
公共CustomOutageDetailListAdapter(活动上下文,SectionOutageListItem[]项){
super(上下文,R.layout.mylistoutagedetails,items);
这个。项目=项目;
this.context=上下文;
}
@凌驾
公共视图getView(内部位置、视图视图、视图组父视图){
LayoutInflater充气器=上下文。getLayoutInflater();
视图行视图=充气机。充气(R.layout.myListutageDetails,null,true);
最终部分OutageListItem currentItem=项目[位置];
如果(currentItem!=null){
TextView txtTitle=(TextView)rowView.findViewById(R.id.item);
TextView txtName=(TextView)rowView.findViewById(R.id.name);
如果(txtTitle!=null){
setText(currentItem.item.toString());
}
if(txtName!=null){
setText(currentItem.name.toString());
}
}
返回行视图;
};
正如@Trobbins指出的那样,
您可能需要如下更改代码:
SectionOutageListItem[][] exampleArray = new SectionOutageListItem[outnums.size()][2];
for(int i = 0; i < outnums.size(); i++) {
exampleArray[i][0] =
new SectionOutageListItem("Impact", impacted.get(i), "Outage No. " + outnums.get(i));
exampleArray[i][1] = new SectionOutageListItem("status", status.get(i), "Outage No. " + outnums.get(i));
}
CustomOutageDetailListAdapter adapter = new CustomOutageDetailListAdapter(this, exampleArray);
sectionAdapter = new SectionOutageListAdapter(getLayoutInflater(),
adapter);
SectionOutageListItem[]exampleArray=newsectionOutageListItem[outnums.size()][2];
对于(int i=0;i
如果您想保持插入顺序或HashMap
一个Java数组在每个索引处只能保存一个对象,您也可以使用Map
特别是LinkedHashMap
。@Trobbins那么我的其他选项是什么?请添加更多关于您尝试执行的操作的信息。更多上下文。