listview列表中的数据可以直接加载到该控件

listview列表中的数据可以直接加载到该控件,第1张

1定义Adapter

public class SignalListAdapter extends BaseAdapter {

//信标数组-存储信标名字

private String[] DataList;

private Context mContext;

public SignalListAdapter(Context context, List<String> DataList){

super();

thisDataList=DataListtoArray(new String[]{});

thismContext = context;

}

@Override

public int getCount() {

return DataListlength;

}

public void setData( List<String> DataList){

thisDataList=DataListtoArray(new String[]{});

}

@Override

public Object getItem(int position) {

return isOnline[position];

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(final int index, View convertView, ViewGroup parent) {

if (convertView==null){

convertView=Viewinflate(mContext,Rlayoutfragment_item,null);

}

//设置fragment中的textview

TextView tx=convertViewfindViewById(Ridfragment_text);

txsetText(DataList[index]);

//设置imageview里单独的click监听

ImageView iv_setting=convertViewfindViewById(Ridiv_setting);

iv_settingsetOnClickListener(new ViewOnClickListener() {

@Override

public void onClick(View v) {

Intent intent=new Intent(mContext,Settingsclass);

intentputExtra("Data",DataList[index]);

mContextstartActivity(intent);

}

});

//设置整个fragment的监听

convertViewsetOnClickListener(new ViewOnClickListener() {

@Override

public void onClick(View v) {

Intent intent;

intent=new Intent(mContext,BDMapActivityclass);

intentputExtra("Data",DataList[index]);//

mContextstartActivity(intent);

}

});

return convertView;

}

}

这里主要是写getItemId,getItem,getCount,getView这几个方法,Adapter里应该定义这段动态生成所需要的数据是什么,然后在构造函数里进行赋值,getView的方法就是对于动态生成里的每个子项该怎么设置textview,设置监听之类的。

除此之外,还应该自己写个setData方法,用于重新给private的数据进行赋值,告诉Adapter数据已经发生改变

2使用Adapter进行生成

signalListView=findViewById(RidsignalList);

mSignalListAdapter=new SignalListAdapter(MainActivitythis,DataList);

signalListViewsetAdapter(mSignalListAdapter);

3对于动态生成的ListView的控件进行更改

当想要对动态生成的控件里面的某一个属性进行更改的时候就麻烦了,这个时候首先应该进行数据的修改,当DataList中的值改变之后,调用之前写的setData方法告诉Adapter数据已经改变, 再调用Adapter的notifyDataSetChanged方法,调用后,Listview里的数据就会重新生成一次,还是在geiView中对于控件的属性进行更改, 数据的改变和notifyDataSetChanged方法写在handler里就行

void ListView_GetItemText(HWND hwnd,

int iItem,//行索引

int iSubItem,//列索引

LPTSTR pszText,int cchTextMax

);

char szRet[128];

ListView_GetItemText(hListView,3,5,szRet,128);//获取第三行,第五列的文本

用循环把数据插入进ListView,用reader方法读取中括号中的字段名。

lv1ItemsClear(); //清空lv1中的记录

ListViewItem li = new ListViewItem();

liSubItemsClear(); //清空每行数据的每一列数据。

foreach (DataRow reader in stuRows) //前提是stu有数据,stu是DataTable

{

ListViewItem item = new ListViewItem((reader["EMP_NO"])ToString());

itemSubItemsAdd(reader["NAME"]ToString());

itemSubItemsAdd(reader["ID"]ToString());

thislv1ItemsAdd(item);

}

你的,5,12 是在同一个item里面吧?如果是,你可以这样做:重写listadapter,在getitem()函数中写return ab (a,b是5,12 或者19 26 ,总之就是你要在这个item上显示的值)。然后for循环调用listadapter的getitem(),获取乘结果,然后相加。望采纳。

获取其他进程的数据需要使用到以下几个函数:

VirtualAllocEx()

VirtualFreeEx()

WriteProcessMemory()

ReadProcessMemory()

以上就是关于listview列表中的数据可以直接加载到该控件全部的内容,包括:listview列表中的数据可以直接加载到该控件、C++/API高手进啊,怎么获取LISTVIEW控件选中项的数据啊、C#listview 怎么才能读取多行数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10149106.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存