android取list數據
1. 如何在Android開發中動態載入的list列表數據
動態獲取的話,一般都是結合服務端通知客戶端數據更新,然後組成成一個list,通知你的界面進行重繪更新。
2. android/java語言怎麼取 ArrayList<String[]> 里第一個元素的值啊放在textview里。
首先,你可以把ArrayList<String[]>當做是ArrayList<String>來看待
然後,利用ArrayList的get方法(ArrayList<String[]> al=new ArrayList<String[]>();
String[] array=al.get(0);)得到Arraylist中的第一個String[]數據,
最後,就是簡單的在String數組中取出第一個值,即: String str=array.get(0);
TextView.setText(str);
3. Android的listview 怎麼取得select內容
解決方案:重寫BaseAdapter,然後自行獲取ListView中每行輸入的EditText值.
大概演算法:重寫BaseAdapter.getView函數,用一個數組存儲EditText中的值,根據position即數組下標,在getView中動態更新EditText和動態獲取EditText中的值.因為ListView中的item是復用的,如果不動態清空或動態獲取EditText中值,就會出現數據紊亂,或者沒數據.那麼在生成EditText的時候要監控其值的變化.存儲下來.
舉例代碼:
packagecom.exmyth.android;
{
;
privateList<Map<String,Object>>mData;//存儲的EditText值
publicMap<String,String>editorValue=newHashMap<String,String>();//
publicListEditorAdapter(Contextcontext,List<Map<String,Object>>data){
mData=data;
mInflater=LayoutInflater.from(context);
init();
}
//初始化
privatevoidinit(){
editorValue.clear();
}
@Override
publicintgetCount(){
returnmData.size();
}
@Override
publicObjectgetItem(intposition){
returnnull;
}
@Override
publiclonggetItemId(intposition){
return0;
}
privateIntegerindex=-1;
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
ViewHolderholder=null;
//convertView為null的時候初始化convertView。
if(convertView==null){
holder=newViewHolder();
convertView=mInflater.inflate(R.layout.listview_item,null);
holder.name=(TextView)convertView
.findViewById(R.id.list_item_name);
holder.title=(TextView)convertView
.findViewById(R.id.list_item_title);
holder.value=(EditText)convertView
.findViewById(R.id.list_item_inputvalue);
holder.value.setTag(position);
holder.userkey=(TextView)convertView.findViewById(R.id.user_key);
holder.value.setOnTouchListener(newOnTouchListener(){
@Override
publicbooleanonTouch(Viewv,MotionEventevent){
if(event.getAction()==MotionEvent.ACTION_UP){
index=(Integer)v.getTag();
}
returnfalse;
}
});
{
publicMyTextWatcher(ViewHolderholder){
mHolder=holder;
}
privateViewHoldermHolder;
@Override
publicvoidonTextChanged(CharSequences,intstart,
intbefore,intcount){
}
@Override
publicvoidbeforeTextChanged(CharSequences,intstart,
intcount,intafter){
}
@Override
publicvoidafterTextChanged(Editables){
if(s!=null&&!"".equals(s.toString())){
intposition=(Integer)mHolder.value.getTag();
mData.get(position).put("list_item_inputvalue",
s.toString());//當EditText數據發生改變的時候存到data變數中
}
}
}
holder.value.addTextChangedListener(newMyTextWatcher(holder));
convertView.setTag(holder);
}else{
holder=(ViewHolder)convertView.getTag();
holder.value.setTag(position);
}
Objectvalue=mData.get(position).get("list_item_name");
if(value!=null){
holder.name.setText((String)value);
}
value=mData.get(position).get("list_item_title");
if(value!=null){
holder.title.setText(value.toString());
}
value=mData.get(position).get("user_key");
if(value!=null){
holder.userkey.setText(value.toString());
}else{
holder.userkey.setText("-1");
}
value=mData.get(position).get("list_item_inputvalue");
if(value!=null&&!"".equals(value)){
holder.value.setText(value.toString());
}else{
Stringkey=mData.get(position).get("user_key").toString();
StringinputValue=editorValue.get(key);
holder.value.setText(inputValue);
}
holder.value.clearFocus();
if(index!=-1&&index==position){
holder.value.requestFocus();
}
returnconvertView;
}
publicfinalclassViewHolder{
publicTextViewname;
publicTextViewtitle;
publicEditTextvalue;//ListView中的輸入
publicTextViewuserkey;//用來定義的標志性主鍵,可不用關心
}
}
4. android如何將從資料庫讀取的數據顯示在listview中
本地數據就用ormlite-android-4.19.jar和ormlite-core-4.19.jar 可以幫助你管理本地數據,網路上的數據應該要後台做介面讓你去調用,adapter可以寫一個方法addpendList或者setList,這兩個方法都是控制當前adapter持有的list的,adapter可以持有這個list並且給每個item設置布局。
本地得到的數據就是List,如果是伺服器的數據就是JSON格式,可以用JSONUtil.java之類的去解析然後獲取list,不是list的數據就直接res.getString("name");
ListView.SetAdapter();就可以設置adapter了,然後adapter如果有數據就會填充List
刷新的話是adapter.notifyDataSetChanged();
5. androidlistview獲取點擊的第幾列
第四列。Android是一個以Linux為基礎的半開源操作系統,主要用於移動設備,由Google和開放手持設備聯盟開發與領導。Android系統最初由安迪·魯賓製作,最初主要支持手機。2005年8月17日被Google收購。給listview添加值的時候應該是有個存放數據的list,然後list.get(position)就可以獲取點擊的第四列了。2007年11月5日,Google與84家硬體製造商、軟體開發商及電信營運商組成開放手持設備聯盟來共同研發改良Android系統並生產搭載Android的智慧型手機,並逐漸拓展到平板電腦及其他領域上。隨後,Google以Apache免費開源許可證的授權方式,發布了Android的源代碼。