如何改变ListView中Item的大小

标题可能表达的不是很清楚 就是一个 一个listview 或者 RecyclerView(纵向) 设置Item间距以后让点击的Item尺寸变大变宽的效果 请问这要怎么实现呢?哪种列表都可以,求一个方法!!

2个回答

点击是调用属性动画,设置item layoutparams.height

你试试吧,很简单,只是让padding变大了,然后scale变大了

public class MyListView extends ListView {

public final static float SCALE = 1.2f;
private View targetView;

public MyListView(Context context) {
    super(context);
}

public MyListView(Context context, AttributeSet attrs) {
    super(context, attrs);
}

@Override
public boolean onTouchEvent(MotionEvent ev) {
    switch (ev.getAction()){

        case MotionEvent.ACTION_DOWN:
            int XDonw = (int) ev.getX();
            int YDonw = (int) ev.getY();
            int position = pointToPosition(XDonw,YDonw);
            if(position != -1){
                targetView = getChildAt(position);
                targetView.setScaleY(SCALE);
                targetView.setScaleX(SCALE);
                targetView.setPadding(0,5,0,5);
            }

            break;
        case MotionEvent.ACTION_UP:
            if(targetView != null){
                targetView.setScaleY(1);
                targetView.setScaleX(1);
                targetView.setPadding(0,0,0,0);
            }
            break;
    }

    return super.onTouchEvent(ev);

}

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android中屏幕显示listview中的item数量

求大神告知,我如何获取当前屏幕显示出的listview的item数量呢?每个屏幕大小不一,能显示出的数量也是不一样的,有没有方法能够计算的??

listview删除item后Fragment刷新问题

android开发 我的Fragment中有一个listview,设置了长按删除item的功能,现在的问题是,我adapter.notifyDataSetChanged();是会重新加载listview,但是我的listview下面有一个imageview,就会出现删除的那个item空白,而imageview不会占据那个删除的item的位置,比如说,我123+,删除3,就会出现12 +,我不会删除那个空白,我就想能不能重新加载这个Fragment,网上的都看不懂,求大神指导一下~

改变列表视图ListView中的字体和背景

我想改变列表视图ListView中的字体(颜色和大小)和背景。我想用代码改变而不是想通过设置xml的属性实现。以下的list view看起来就像xml: <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:textSize="18sp" android:text="@string/hello"> 我的代码是: public class NewsActivity extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ArrayAdapter listItemAdapter = new ArrayAdapter( this,android.R.layout.simple_list_item_1, v_itemList ); setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item,ynetList)); View v=getListView() ; ListView lv = getListView(); 接下来再写什么代码呢?

Android ListView不同两个Item间距怎么设置?

比如下图微信的发现界面,这是用listview实现的吗? ![图片说明](https://img-ask.csdn.net/upload/201508/05/1438761145_70939.png)

Android关于改变ListView里面的ImageView控件的背景图出现无法触发点击事件的问题

问题说明:我使用AudioRecord进行录音,想要点击ImageView开始录音,然后根据音量大小设置ImageView背景图 ,由于ImageView是ListView的Item里面的一个子控件,于是我开启一个线程,使Thread.sleep(100);后 notifyDataSetChanged(),这时问题就出现了,当我再次点击ImageView想要录音暂停时,发现有时候点击事件无法触发,请问大神们,这是怎么回事,在线等待中。。。。。。希望大家帮帮忙。。。。。。

Android listview 随着item点击量进行排序 求大神给思路

1、listview中显示的是不同的商品,商品在本地的商品数据库中存储, 2、我在商品数据库中添加了一个字段:c_num 3、那个字段用于保存该商品的点击次数。 问题来了:我该如何根据点击次数大小进行listview的排序? 从数据库取出来的商品列表为 List<ShangPinBean> zhanShiShangPinList 。 创建的adapter为:MyAdapter myAdapter。 listview为:ListView mListView。

c#如何调listview图标间距

c#如何调listview的大图标的间距?大神请指点。比如largeicon的图标间距。注:改变图片大小对间距无作用。

ListView图标的间距可以调整么?

ListView图标的间距可以调整么?ListView的图标离顶部的间距太小了,可以往下面挪动一点么?

ViewPager多个View中动态添加ListView切换问题?求兄弟姐妹们帮忙解决,困扰已久!

是这样的,最近做个答题的APP,在答题切换的时候采用的ViewPager滑动切换方式,由于题数不定,所以ViewPager中是List<View>,每个View中再动态添加的题目和ListView选择题,ListView中嵌套了RaddioButton或Checkbox,每次选择了答案我就将选择存入了数据库中,下次滑动的时候,直接读取数据库,然后动态生成的控件再来自动选择数据库中的答案,我ViewPager缓存的是2个,在选择了一个VIew中的答案后,滑动两个以上界面后,再滑回来,之前选择的ListView中的RaddioButton在0.5秒后会自动变为取消状态,但是退出程序,下次再进入的时候,从数据库取出的答案动态生成控件后,选择状态无论怎么滑,再划回来都是正常的,不知是何原因,求大神们解决啊,困扰已久了。

ListView中因layout_height是wrap_content而引发的问题

问题描述: 先是点击画面上的一个按钮,然后出现下方弹窗 图一:点击弹窗内的“show preview”,会出现listview,如图二 ![图一:点击弹窗内的“show preview”,会出现listview,如图二](https://img-ask.csdn.net/upload/201806/04/1528124307_944119.png) 图二:listview出现之后,快速点击任意item,按照设计应该是出现图一的画面 ![图二:listview出现之后,快速点击任意item,按照设计应该是出现图一的画面](https://img-ask.csdn.net/upload/201806/04/1528124418_35363.png) 但是实际上出现的是图三的画面, 图三:图中出现了和listview大小一样的透明层 ![图三:图中出现了和listview大小一样的透明层](https://img-ask.csdn.net/upload/201806/04/1528124620_124752.png) 这种现象只会在listview初始化的时候并且是快速点击下才会出现,往后怎么点击都不会出现。 现在怀疑这个问题可能是因为ListView中的layout_height是wrap_content而引发的问题,改成具体fill_parem或者是具体的高度就能够解决,但是要怎么证明这个现象是由这个问题导致的呢? 代码如下: ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/flipper_setting" android:layout_width="fill_parent" android:layout_height="400px" android:orientation="vertical" android:gravity="center_vertical" android:background="@color/gold" > <!-- setting category page --> <LinearLayout android:id="@+id/layout1" android:layout_width="fill_parent" android:layout_height="400px" android:gravity="top" android:orientation="vertical"> <!-- Preview Setting --> <include android:id="@+id/include_setting_preview" layout="@layout/list_row_setting_category" /> </LinearLayout> <!-- detail setting page --> <LinearLayout android:layout_width="fill_parent" android:layout_height="400px" android:gravity="top" android:orientation="vertical" android:id="@+id/layout2"> <TextView android:id="@+id/text_title_detail" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:textSize = "20px"/> <com.example.viewflippertest.ListViewConfig android:id="@+id/listview_detail" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@color/white" /> </LinearLayout> </LinearLayout> ``` ``` public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.id_btn) ; button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Dialog dialog = createOtherSettingDialog(MainActivity.this); dialog.show(); WindowManager.LayoutParams lp = dialog.getWindow().getAttributes(); lp.width = 600; lp.height = 500; dialog.getWindow().setAttributes(lp); } }); } public static AlertDialog createOtherSettingDialog(final Context context) { //(1) LayoutInflater inflater = LayoutInflater.from(context); final View view = inflater.inflate(R.layout.dlg_setting_other, null); final ListViewConfig listView_detail = (ListViewConfig)view.findViewById(R.id.listview_detail); final TextView text_detail_title = (TextView)view.findViewById(R.id.text_title_detail); final LinearLayout layout2 = (LinearLayout) view.findViewById(R.id.layout2); final LinearLayout layout1 = (LinearLayout) view.findViewById(R.id.layout1); layout2.setVisibility(View.GONE); //(2) /*============ Preview Setting ================*/ final LinearLayout layout_preview = (LinearLayout)view.findViewById(R.id.include_setting_preview); final ArrayAdapter<String> adapter_preview = new adaper(context, R.layout.list_row_setting_detail, R.id.text_detail); final TextView text_category_preview = (TextView)layout_preview.findViewById(R.id.text_category); final TextView text_value_preview = (TextView)layout_preview.findViewById(R.id.text_value); text_category_preview.setText(context.getString(R.string.txid_scan_b_other_preview_title)); text_value_preview.setText("On"); final List<String> list_preview = new ArrayList<String>(); list_preview.add(0, "On"); list_preview.add(1, "Off"); for(int i=0; i<list_preview.size(); ++i) { adapter_preview.add(list_preview.get(i)); } layout_preview.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { System.out.println("========= layout_preview onclick"); text_detail_title.setText(R.string.txid_scan_b_other_preview_title); listView_detail.setAdapter(adapter_preview); layout1.setVisibility(View.GONE); layout2.setVisibility(View.VISIBLE); } }); /*===============================================*/ //(3) listView_detail.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { System.out.println("========= listView_detail onclick"); if(parent.getAdapter().equals(adapter_preview)) { // Update preview setting String value = adapter_preview.getItem(position); TextView text_value = (TextView)layout_preview.findViewById(R.id.text_value); text_value.setText(value); } else { /* should never reach this point */ } layout1.setVisibility(View.VISIBLE); layout2.setVisibility(View.GONE); } }); //(4) final AlertDialog.Builder dialog = new AlertDialog.Builder(context); dialog.setTitle(context.getString(R.string.txid_scan_t_top_other_title)); dialog.setNegativeButton(context.getString(R.string.txid_cmn_b_close), null); dialog.setView(view); return dialog.create(); } private static class adaper extends ArrayAdapter<String>{ public adaper(Context context, int resource, int textViewResourceId) { super(context, resource, textViewResourceId); // TODO Auto-generated constructor stub } @Override public View getView(int position, View convertView, ViewGroup parent) { System.out.println("========= position:" + position + ",convertView:" + convertView +",parent:" + parent.getMeasuredHeight() +",parent.getChildCount:" + parent.getChildCount()); return super.getView(position, convertView, parent); } } ```

Android listview列表中如何在某个固定位置显示界面和数据不同的item

想要在固定第i个位置显示自定义的item 此item界面与其他不同 而且数据源(javaBean)跟其他的item不一样 请问怎么做呢 有什么好的实现方法

为何ListView中唯独不能设置字体颜色?

[img]http://dl.iteye.com/upload/attachment/428784/4de7b93a-3dd2-3154-8ef9-2e14a84ef39b.png[/img] [code="java"] public class TradeActivity extends Activity { ListView listview; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.mystock); String[] models=new String[]{"aaa","bbb","abc","adc","zzz","xcd"}; listview=(ListView)findViewById(R.id.listview); TradeAdapter adapter=new TradeAdapter(this,models); listview.setAdapter(adapter); } class TradeAdapter extends BaseAdapter{ Context context; String[] array; TradeAdapter(Context context,String[] array){ this.context=context; this.array=array; } @Override public int getCount() { // TODO Auto-generated method stub return array.length; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return array[position]; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub if(convertView==null){ LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView=inflater.inflate(R.layout.row_simple_list_item_2, null); } TextView textView0=(TextView)convertView.findViewById(R.id.simple_item_0); TextView textView1=(TextView)convertView.findViewById(R.id.simple_item_1); textView0.setText(array[position]); textView0.setTextColor(R.color.red);//不可以设置 textView1.setTextSize(20); textView1.setText(array[position]); textView1.setTextSize(20);//可以设置 return convertView; } } } [/code] row_simple_list_item_2.xml文件 [code="xml"] <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/simple_item_0" android:layout_width="100px" android:layout_height="fill_parent" android:gravity="center" android:layout_alignParentLeft="true" /> <TextView android:id="@+id/simple_item_1" android:layout_width="100px" android:layout_height="fill_parent" android:gravity="center" android:layout_toRightOf="@id/simple_item_0" /> </RelativeLayout> [/code] 很简单的一个Listview,可为什么大小可以,颜色不可以?设置了颜色的那行居然不显示文字了。

求教Fragment和ListView点击跳转

``` package gfxy.com.fragment_dahb; import android.app.Fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class Web extends Fragment { WebView we; EditText ed1; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.web,null); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getActivity().setContentView(R.layout.web); Button bu = (Button) getActivity().findViewById(R.id.webbut); ed1 = (EditText) getActivity().findViewById(R.id.webed); we = (WebView) getActivity().findViewById(R.id.webweb); WebSettings wes = we.getSettings(); wes.setJavaScriptEnabled(true); bu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setweb(); } }); we.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { if (newProgress == 100) { Toast.makeText(getActivity(), "网页加载完成", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getActivity(), "加载中", Toast.LENGTH_SHORT).show(); } } }); } public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && we.canGoBack()){ we.goBack(); return true; } return false; } public void setweb() { we.loadUrl("http://" + ed1.getText().toString().trim()); we.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); } } ``` ``` package gfxy.com.fragment_dahb; import android.app.Fragment; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.widget.DrawerLayout; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.RadioGroup; import org.achartengine.ChartFactory; import org.achartengine.GraphicalView; import org.achartengine.model.CategorySeries; import org.achartengine.renderer.DefaultRenderer; import org.achartengine.renderer.SimpleSeriesRenderer; /** * Created by Administrator on 2016/4/18. */ public class bt extends Fragment { public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); FrameLayout sa = (FrameLayout) getActivity().findViewById(R.id.fm); sa.removeAllViews(); CategorySeries dataset=buildCategoryDataset("测试饼图"); GraphicalView graphicalView=ChartFactory.getPieChartView(getActivity(),dataset, renderer);//饼状图 sa.addView(graphicalView, new RadioGroup.LayoutParams(RadioGroup.LayoutParams.FILL_PARENT, RadioGroup.LayoutParams.FILL_PARENT)); } protected CategorySeries buildCategoryDataset(String title) { CategorySeries categorySeries = new CategorySeries(title); categorySeries.add("胜 ", 30); categorySeries.add("负", 20); categorySeries.add("平", 50); return categorySeries; } int[] colors={Color.BLUE,Color.GREEN,Color.MAGENTA,Color.RED}; DefaultRenderer renderer=buildCategoryRenderer(colors); protected DefaultRenderer buildCategoryRenderer(int[] colors) { DefaultRenderer renderer = new DefaultRenderer(); renderer.setLegendTextSize(20);//设置左下角表注的文字大小 //renderer.setZoomButtonsVisible(true);//设置显示放大缩小按钮 renderer.setZoomEnabled(false);//设置不允许放大缩小. renderer.setChartTitleTextSize(30);//设置图表标题的文字大小 renderer.setChartTitle("统计结果");//设置图表的标题 默认是居中顶部显示 renderer.setLabelsTextSize(20);//饼图上标记文字的字体大小 //renderer.setLabelsColor(Color.WHITE);//饼图上标记文字的颜色 renderer.setPanEnabled(false);//设置是否可以平移 //renderer.setDisplayValues(true);//是否显示值 renderer.setClickEnabled(true);//设置是否可以被点击 renderer.setMargins(new int[]{20, 30, 15, 0}); //margins - an array containing the margin size values, in this order: top, left, bottom, right for (int color : colors) { SimpleSeriesRenderer r = new SimpleSeriesRenderer(); r.setColor(color); renderer.addSeriesRenderer(r); } return renderer; } } ``` ``` <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:orientation="horizontal"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="sadsd" android:textSize="25dp" android:gravity="center" android:background="#0f4"/> </LinearLayout> <android.support.v4.widget.DrawerLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/lv" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="@null" android:choiceMode="singleChoice"> </ListView> <FrameLayout android:id="@+id/fm" android:layout_width="match_parent" android:layout_height="match_parent"> </FrameLayout> </android.support.v4.widget.DrawerLayout> </LinearLayout> ``` 我想把Web。和bt显示在framelayout里面,求教怎么做? 还有ListView的点击跳转事件之前用还没问题,也不知道干了什么,然后就不能进行跳转了 求解决?? ``` package gfxy.com.fragment_dahb; import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.content.Intent; import android.os.Bundle; import android.support.v4.widget.DrawerLayout; import android.view.View; import android.widget.AdapterView; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.SimpleAdapter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MainActivity extends Activity { private String[] name = new String[]{ "饼图","静态折线","动态折线","Web","逐帧动画","缩放,透明,旋转,平移" }; private FragmentManager fm; private FragmentTransaction ft; private FrameLayout fml; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fml = (FrameLayout) findViewById(R.id.fm); ListView lv = (ListView)findViewById(R.id.lv); List<Map<String,Object>> list = new ArrayList<Map<String,Object>>(); for (int i=0;i<name.length;i++){ Map<String,Object> map = new HashMap<String,Object>(); map.put("name",name[i]); list.add(map); } lv.setAdapter(new SimpleAdapter(this,list,R.layout.content_main,new String[]{"name"},new int[]{R.id.text1})); // int wi = getWindowManager().getDefaultDisplay().getWidth();//获取手机宽度 // int hi = getWindowManager().getDefaultDisplay().getHeight();//获取手机高度 fm = getFragmentManager();//创建一个Fragment ft = fm.beginTransaction();//对Fragment进行添加,删除,替换 ft.replace(R.id.fm,new Fragment1()); ft.commit(); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if(position==0){ ft = fm.beginTransaction(); ft.replace(R.id.fm,new bt()); ft.commit(); } if(position==1){ ft = fm.beginTransaction(); ft.replace(R.id.fm,new Fragment1()); ft.commit(); } if(position==3){ ft = fm.beginTransaction(); ft.replace(R.id.fm,new Web()); ft.commit(); } } }); } } ```

怎么将combobox控件添加到listview单元格上?

怎么将combobox控件添加到listview单元格上?怎么获取选择的单元格的位置和大小呢?

recycleView需要动态计算item高度,item的复用导致布局错乱。改怎么解决呢?

一个时间轴的item,由于字数不同有的需要显示多行,有的只有一行。导致RecycleView加载下一页时再回到上面看到的布局就是错乱的。直接禁用RecycleView的复用也不行,而且RecycleView的滑动会变得非常卡。怎么解决呢

listview 如何删除sdcard卡文件并刷新界面?红色部分

package com.genny; import java.io.File; import android.app.Activity; import android.app.AlertDialog; import android.content.ContentResolver; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.database.Cursor; import android.graphics.Color; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.view.ContextMenu; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ContextMenu.ContextMenuInfo; import android.view.ViewGroup.LayoutParams; import android.widget.AdapterView; import android.widget.CursorAdapter; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.SimpleAdapter; import android.widget.SimpleCursorAdapter; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.*; public class MusicListActivity extends Activity{ private ListView listview; private Cursor c = null; private File file = null; private CursorAdapter adapter; private ScanSdReceiver scanSdReceiver = null; private String[] _title = null; private String[] _name = null; private String[] _size; private String[] _path = null; private String[] _singer = null; private String[] _album = null; private int[] _time; private int index; //menu菜单 private static final int ITEM1 = Menu.FIRST; private static final int ITEM2 = Menu.FIRST + 1; private static final int ITEM3 = Menu.FIRST + 2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.musiclist); listview = (ListView)findViewById(android.R.id.list); c = this.getContentResolver() .query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, new String[]{MediaStore.Audio.Media.TITLE,//歌曲名0 MediaStore.Audio.Media.DURATION,//时长1 MediaStore.Audio.Media.ARTIST,//歌手2 MediaStore.Audio.Media._ID,//ID3 MediaStore.Audio.Media.DISPLAY_NAME,//文件名4 MediaStore.Audio.Media.ALBUM,//专辑5 MediaStore.Audio.Media.SIZE,//大小6 MediaStore.Audio.Media.DATA},//路径7 null, null, null); /* if (c==null || c.getCount()==0){ builder = new AlertDialog.Builder(this); builder.setMessage("存储列表为空...").setPositiveButton("确定", null); ad = builder.create(); ad.show(); }*/ c.moveToFirst(); _title = new String[c.getCount()]; _name = new String[c.getCount()]; _path = new String[c.getCount()]; _singer = new String[c.getCount()]; _album = new String[c.getCount()]; _size = new String[c.getCount()]; _time = new int[c.getCount()]; for(int i=0;i<c.getCount();i++){ _title[i] = c.getString(0); _name[i] = c.getString(4); _path[i] = c.getString(7); _singer[i] = c.getString(2); _album[i] = c.getString(5); _size[i] = c.getString(6); _time[i] = c.getInt(1); c.moveToNext(); } adapter = new SimpleCursorAdapter(this, R.layout.listitem, c, new String[]{MediaStore.Audio.AudioColumns.TITLE, MediaStore.Audio.AudioColumns.ARTIST}, new int[]{R.id.music, R.id.songer}); listview.setAdapter(adapter); listview.setOnItemClickListener(new ListItemClickListener()); registerForContextMenu(listview); } class ListItemClickListener implements OnItemClickListener{ @Override public void onItemClick(AdapterView<?> arg0, View view, int position, long id) { // TODO Auto-generated method stub Intent i = new Intent(MusicPlayerService.MUSIC_CONTROL); i.putExtra("cmd", MusicPlayerService.CMD_JUMP); i.putExtra("pos", position); sendBroadcast(i); finish(); } } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { // TODO Auto-generated method stub index = ((AdapterContextMenuInfo)menuInfo).position;//获取menu点击项的position menu.setHeaderIcon(R.drawable.header_icon); menu.setHeaderTitle(_title[index]); menu.add(0,ITEM1,0,"播放"); menu.add(0,ITEM2,0,"删除"); menu.add(0,ITEM3,0,"详细"); super.onCreateContextMenu(menu, v, menuInfo); } public boolean onContextItemSelected(MenuItem item){ switch(item.getItemId()){ case ITEM1: Intent i = new Intent(MusicPlayerService.MUSIC_CONTROL); i.putExtra("cmd", MusicPlayerService.CMD_JUMP); i.putExtra("pos", index); sendBroadcast(i); finish(); break; [color=red]case ITEM2: /*下面的代码能够删除listview中的音频文件,但是删除之后如何刷新呢?*/ file = new File(_path[index]); if(file.exists()){ file.delete(); } break;[/color] case ITEM3: Intent intent = new Intent(MusicListActivity.this,MusicInfo.class); intent.putExtra("_Name", _name[index]); intent.putExtra("_Size", _size[index]); intent.putExtra("_Singer", _singer[index]); intent.putExtra("_Album", _album[index]); intent.putExtra("_Time", _time[index]); intent.putExtra("_Path", _path[index]); startActivity(intent); System.out.println("Name:"+_name[index]+" Size:"+_size[index]+" Path:"+_path[index]+" Singer:"+_singer[index]+" Album:"+_album[index]+" Time:"+_time[index]); break; default: break; } return super.onContextItemSelected(item); } //添加menu菜单 public boolean onCreateOptionsMenu(Menu menu){ super.onCreateOptionsMenu(menu); menu.add(0,ITEM1,0,"更新列表").setIcon(R.drawable.update_file); menu.add(0,ITEM2,0,"返回").setIcon(R.drawable.menu_exit); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case ITEM1: scanSdCard(); break; case ITEM2: onBackPressed(); break; default: break; } return true; } //扫描本地sdcard卡文件 private void scanSdCard(){ IntentFilter intentfilter = new IntentFilter(Intent.ACTION_MEDIA_SCANNER_STARTED); intentfilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED); intentfilter.addDataScheme("file"); scanSdReceiver = new ScanSdReceiver(); registerReceiver(scanSdReceiver, intentfilter); sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://"+Environment.getExternalStorageDirectory().getAbsolutePath()))); } @Override public void onBackPressed() { // TODO Auto-generated method stub if (scanSdReceiver!=null) unregisterReceiver(scanSdReceiver); this.finish(); super.onBackPressed(); } }

winform listview数据绑定如下,怎么让内容自适应呢,就是宽度弄不好,在窗体滚动时

DataTable dt = objG_News.GetNews().Tables[0]; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { ListViewItem item = new ListViewItem(); item.Text = dt.Rows[i]["G_Title"].ToString(); text += item.Text; listView1.Items.Add(item.Text); } }

ListView需要用imageloader加载大量网络图片滑动卡顿

需求:类似QQ空间动态功能,每个Item加载头像跟图片还有一些文字。 使用的是UIL来加载图片。 问题:在滑动listview的时候会卡顿,然后加载过的图片再次出现的时候又会重新加载。并不能实现首次下载第二次的时候从内存中加载。PS:每张图片大小在20K以内、网络状态良好。 已尝试方法:优化ImageLoaderConfiguration、设置ListView.setOnScrollListener(new PauseOnScrollListener(imageLoader, true, true));、把UIL更新到最新的1.9.4。 我在网上查了很多,最多方法是给ImageView设置Tag,在加载完成时判断。if(imageUri.equals(holder.ivIcon.getTag())){ holder.ivIcon.setImageBitmap(loadedImage); } 但是我用的是imageloader.displayImage。 另外,如果给imageview加tag,然后用imageloader.loadimage()来加载图片。在onLoadingComplete()中是不能判断imageview.tag是否等于imageUri的。因为我是在adpter中,用的holder,如果要可以用,就得吧holder定义为final,然而在holder = new ViewHolder();的时候就会让holder移除holder,互相矛盾。 求大神指导。万分感谢! Adapter的getView()代码如下: @Override public View getView(int position, View convertView, ViewGroup parent) { IPetUserEvent userevent = (IPetUserEvent) getItem(position); IPetUserEventDao usereventdao=new IPetUserEventImpl(); IPetUser user=usereventdao.getUserById(userevent.getUserid()); String userName=user.getiName(); String userHeadPic=user.getiImg(); ViewHolder holder = null; if (convertView == null) { convertView = LayoutInflater.from(context).inflate(R.layout.item_userevent, null); holder = new ViewHolder(); holder.imgUserHeadPic=(ImageView) convertView.findViewById(R.id.img_item_userevent_head); holder.imgPic = (ImageView) convertView.findViewById(R.id.iv_item_userevent_eventpic); holder.tvTitle = (TextView) convertView.findViewById(R.id.tv_item_userevent_eventname); holder.tvTime = (TextView) convertView.findViewById(R.id.tv_item_userevent_eventtime); holder.tvUserName=(TextView) convertView.findViewById(R.id.tv_item_userevent_username); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.tvTitle.setText(userevent.getEventname()); holder.tvTime.setText("活动时间:"+userevent.getEventtime()); holder.tvUserName.setText(userName); String url= HttpUtil.BASE_URL+"uploadfile/userevent/"+userevent.getEventpic(); String url1= HttpUtil.BASE_URL+"uploadfile/userImage/"+userHeadPic; imageLoader.displayImage(url1, holder.imgUserHeadPic, options, animateFirstListener); imageLoader.displayImage(url, holder.imgPic, options, animateFirstListener);// return convertView; }

Android首页轮播图 listview gridview并列

自定义listview和gridview 加载数据后底部会有空白 item之间有不同大小的空隙 还有什么思路吗

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

MySQL性能优化(五):为什么查询速度这么慢

前期回顾: MySQL性能优化(一):MySQL架构与核心问题 MySQL性能优化(二):选择优化的数据类型 MySQL性能优化(三):深入理解索引的这点事 MySQL性能优化(四):如何高效正确的使用索引 前面章节我们介绍了如何选择优化的数据类型、如何高效的使用索引,这些对于高性能的MySQL来说是必不可少的。但这些还完全不够,还需要合理的设计查询。如果查询写的很糟糕,即使表结构再合理、索引再...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

网上很多的文章和帖子中在介绍秒杀系统时,说是在下单时使用异步削峰来进行一些限流操作,那都是在扯淡! 因为下单操作在整个秒杀系统的流程中属于比较靠后的操作了,限流操作一定要前置处理,在秒杀业务后面的流程中做限流操作是没啥卵用的。

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

疫情后北上广深租房价格跌了吗? | Alfred数据室

去年3月份我们发布了《北上广深租房图鉴》(点击阅读),细数了北上广深租房的各种因素对租房价格的影响。一年过去了,在面临新冠疫情的后续影响、城市尚未完全恢复正常运转、学校还没开学等情况下...

面试官给我挖坑:a[i][j] 和 a[j][i] 有什么区别?

点击上方“朱小厮的博客”,选择“设为星标”后台回复&#34;1024&#34;领取公众号专属资料本文以一个简单的程序开头——数组赋值:int LEN = 10000; int[][] ...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

Intellij IDEA 美化指南

经常有人问我,你的 IDEA 配色哪里搞的,我会告诉他我自己改的。作为生产力工具,不但要顺手而且更要顺眼。这样才能快乐编码,甚至降低 BUG 率。上次分享了一些 IDEA 有用的插件,反...

【相亲】96年程序员小哥第一次相亲,还没开始就结束了

颜值有点高,条件有点好

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

一图看完本文 一、 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为...

腾讯面试题: 百度搜索为什么那么快?

我还记得去年面腾讯时,面试官最后一个问题是:百度/google的搜索为什么那么快? 这个问题我懵了,我从来没想过,搜素引擎的原理是什么 然后我回答:百度爬取了各个网站的信息,然后进行排序,当输入关键词的时候进行文档比对……巴拉巴拉 面试官:这不是我想要的答案 我内心 这个问题我一直耿耿于怀,终于今天,我把他写出来,以后再问,我直接把这篇文章甩给他!!! 两个字:倒排,将贯穿整篇文章,也是面试官...

相关热词 c#跨线程停止timer c#批量写入sql数据库 c# 自动安装浏览器 c#语言基础考试题 c# 偏移量打印是什么 c# 绘制曲线图 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行
立即提问