導航:首頁 > 操作系統 > androidlistview懸停

androidlistview懸停

發布時間:2022-06-25 18:33:50

android ListView 中如何實現在滑動列表時第一項不動

這個不行,但是有解決方法,在listview外面套一層linearlayout。同時,在listview上面加入一個和你listview一致的UI元素。完成後的效果,就和樓主的要求一致。

② Android中listView

你點擊了我1是用Toast顯示嗎?那就Toast.makeToast方法會返回一個對象,你在ListView滑動時,再調用cancel就好了。

③ android listview下拉刷新在不同的手機上變成這個樣子。。

首先你要確定你的listView設置成 match_parent,如果已經是的話,你把下拉刷新的頭部的背景顏色設置成透明就不會這么丑了

④ android 中listview 的用法

1.在xml裡面定義一個ListView,這個xml是一個activity的layout文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListView android:layout_width="wrap_content" //定義一個listView
android:layout_height="wrap_content"
android:id="@+id/ListView01"
/>
</LinearLayout>

2.定義ListView每個條目的Layout,比如命名為listview_item.xml,用RelativeLayout實現:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:paddingBottom="4dip"
android:paddingLeft="12dip"
android:paddingRight="12dip">
<ImageView
android:paddingTop="12dip"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ItemImage"
/>
<TextView
android:text="TextView01"
android:layout_height="wrap_content"
android:textSize="20dip"
android:layout_width="fill_parent"
android:id="@+id/ItemTitle"
/>
<TextView
android:text="TextView02"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_below="@+id/ItemTitle"
android:id="@+id/ItemText"
/>
</RelativeLayout>

3.在Activity裡面調用和加入Listener,具體見注釋:
package com.ray.test;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnCreateContextMenuListener;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;

public class TestListView extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//綁定Layout裡面的ListView
ListView list = (ListView) findViewById(R.id.ListView01);

//生成動態數組,加入數據
ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
for(int i=0;i<10;i++)
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", R.drawable.checked);//圖像資源的ID
map.put("ItemTitle", "Level "+i);
map.put("ItemText", "Finished in 1 Min 54 Secs, 70 Moves! ");
listItem.add(map);
}
//生成適配器的Item和動態數組對應的元素,這里用SimpleAdapter作為ListView的數據源
//如果條目布局比較復雜,可以繼承BaseAdapter來定義自己的數據源。
SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,//數據源
R.layout.list_items,//ListItem的XML實現
//動態數組與ImageItem對應的子項
new String[] {"ItemImage","ItemTitle", "ItemText"},
//ImageItem的XML文件裡面的一個ImageView,兩個TextView ID
new int[] {R.id.ItemImage,R.id.ItemTitle,R.id.ItemText}
);

//添加並且顯示
list.setAdapter(listItemAdapter);

//添加點擊
list.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
setTitle("點擊第"+arg2+"個項目");
}
});

//添加長按點擊
list.(new OnCreateContextMenuListener() {

@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
menu.setHeaderTitle("長按菜單-ContextMenu");
menu.add(0, 0, 0, "彈出長按菜單0");
menu.add(0, 1, 0, "彈出長按菜單1");
}
});
}

//長按菜單響應函數
@Override
public boolean onContextItemSelected(MenuItem item) {
setTitle("點擊了長按菜單裡面的第"+item.getItemId()+"個項目");
return super.onContextItemSelected(item);
}
}

⑤ Android 的ListView控制項中,如何使選中項停留的列表的中間位置

對ListView設置onScrollListener來監聽onScroll事件,獲取當前的firstVisibleItem,visibleItemCount。對ListView設置OnItemClickListener來監聽itemclick事件獲取選中的item的索引,調用listView的setSelection(int index)方法重新定位一次listView的選中位置,其中index需要根據itemClick事件獲取的索引和scroll事件獲取的值來計算。這個沒驗證過不知道准不準,應該還有更好的方法,求大牛。

⑥ android listView 如何固定item的個數,剩下的滑動顯示

不能不定個數,只能固定高度,如果需要固定為4個item,那麼你可以算出來每個item的高度X4 ,再將listView的高度=item的高度X4。
1、配置文件里ListView高度設置為 warp_content
2、在代碼中載入ListView數據,
3、數據載入完成後(setAdapter或者notifyDataSetChanged之後),重新計算item高度,然後item X 4 = listView的高度
listView.setAdapter(adapter);
View listItem = adapter.getView(0,null,listView);
listItem.measure(0, 0);
int totalHei = (listItem.getMeasuredHeight()+listView.getDividerHeight() ) * 4;
listView.getLayoutparams().height = totalHei;

僅供參考,沒測試。你可以試試。。。

⑦ listview 列表刷新後不回到頂部,而是停留在當前位置,android怎麼實現

設置裡面打開發現,置頂就可以了。

⑧ android listview優化幾種寫法詳細介紹

listview A view that shows items in a vertically scrolling list 。一個顯示一個垂直的滾動子項的列表視圖 在android開發中,使用listview的地方很多,用它來展現數據,成一個垂直的視圖。使用listview是一個標準的適配器模式,用數據--,界面--xml以及適配器--adapter,數據被適配器按照需要的方式展現出來,xml描寫了數據如何展現,activity中控制這些活動。 其中使用自定義的adapter,會要重寫getView方法,在getView方法產生給用戶item的視圖以及數據。 見圖: 這里有一個優化的地方,就是重用view,這樣減少內存消耗,同時加快item載入速度。 在getView中優化的地方,大家想必都非常情況,下面我總結了三種優化的寫法,請大家指正。 第一: 重用了convertView,很大程度上的減少了內存的消耗。通過判斷convertView是否為null,是的話就需要產生一個視圖出來,然後給這個視圖數據,最後將這個視圖返回給底層,呈獻給用戶。 特點:如果當前的convertView為null,則通過LayoutInflat產生一個view。View Code 第二: 上面的寫法會有一個缺點,就是每次在getVIew的時候,都需要重新的findViewById,重新找到控制項,然後進行控制項的賦值以及事件相應設置。這樣其實在做重復的事情,因為的geiview中,其實包含有這些控制項,而且這些控制項的id還都是一樣的,也就是其實只要在view中findViewById一次,後面無需要每次都要findViewById了。 下面給出第二種寫法 寫發的特點,通常有一個內部類class ViewHolder,這個ViewHolder,用來標識view中一些控制項,方便進行一些事件相應操作的設置,比如onClick等等,這樣可以不用每次都要findViewById了,減少了性能的消耗。同時重用了convertView,很大程度上的減少了內存的消耗。View Code 第三:
個人覺得這個寫法是最舒服的,最舒服的意思是看著代碼有一種很爽,看的很清晰。 特點,使用了內部類class ViewHolder、重用了convertView。 區別第二種寫法是,使用了一個臨時變數View view = convertView,然後修改view,最後返回viewView Code 以上就是集中寫法,供新手學習和總結。源代碼如下:LisViewTest.zip 根據樓下朋友提供的建議,發現還有優化的地方,最新更新如下: View Code @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; ViewHolder holder ; if (view == null) { view = LayoutInflater.from(context).inflate(R.layout.section_list_item1, null); holder = new ViewHolder(); holder.tv_name = (TextView)view.findViewById(R.id.contact_contactinfoitem_tv_name); holder.tv_phone = (TextView)view.findViewById(R.id.contact_contactinfoitem_tv_phoneNum); view.setTag(holder); } else { holder = (ViewHolder)view.getTag(); } ContactInfo1 confo = contacts.get(position); Log.i("my", "confo "+confo.getContactName()); if (confo != null) {//to set every item's text holder.tv_name.setText(confo.getContactName()); holder.tv_phone.setText(confo.getContact_Phone()); } return view; } <font color="\"#0000ff\""> </font>staticclass ViewHolder { TextView tv_name,tv_phone; } 注意:static class ViewHolder 這里設置ViewHolder 為static,也就是靜態的,靜態類只會在第一次載入時 會耗費比較長時間,但是後面就可以很好幫助載入,同時保證了內存中只有一個ViewHolder,節省了內存的開銷。 非常感謝大家提出建議以及大家的關注!

⑨ 安卓中listview怎麼使用

自定義一個adapter,你可以對裡面進行布局,這個布局是你listview裡面item的樣式,在你放listview的activity裡面實現OnItemClickListener介面,讓listview去set這個監聽,這樣你點擊每個item的時候會監聽到,在監聽介面裡面intent去另外一個activity,把id通過intent帶過去

閱讀全文

與androidlistview懸停相關的資料

熱點內容
java布局實例 瀏覽:626
51單片機頻率計的 瀏覽:27
帶伺服器的電腦怎麼用 瀏覽:999
什麼app可以調整手機幀率 瀏覽:315
說苑pdf 瀏覽:874
安裝包加密有什麼用 瀏覽:584
舍利子靈力演算法 瀏覽:501
javacalendar天數 瀏覽:567
anyview閱讀器java 瀏覽:361
怎麼降為安卓10 瀏覽:996
javaweb程序設計郭 瀏覽:249
gm聲望命令 瀏覽:486
pdf轉換器電腦版免費 瀏覽:43
解壓歌曲什麼歌最好 瀏覽:153
諾貝爾pdf 瀏覽:969
雲伺服器快速安裝系統原理 瀏覽:790
蘋果騰訊管家如何恢復加密相冊 瀏覽:118
手機軟體反編譯教程 瀏覽:861
sqlserver編程語言 瀏覽:650
gpa國際標准演算法 瀏覽:238