Articles of listview

扩大listview中的中间元素 – android?

我试图放大中心最listview项目。 (最后,我希望将其扩展为一种简单明亮的3D效果,当屏幕中间的元素显示为放大,当它们位于下方时缩小,总黑色背景和文本项目放大和缩小…) 所以,我做了一个虚拟列表视图,每一行都是一个textview元素。 下面,我有一个自定义适配器。 我所做的唯一相关修改是: 在OnCreate() ,我将以下variables传递给适配器: int v = (listview.getLastVisiblePosition() – listview.getFirstVisiblePosition()) + 1; 在Adapter的getView()中,我得到了这个: if (position == x/2) { textView.setHeight(100); } 无论如何这里是所有的代码,我已经跳过了import:(它不是那么大!……大部分都是相当普遍的) MainActivity.java: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ListView listview = (ListView) findViewById(R.id.listview); String[] values = new String[] { “Android”, “iPhone”, “WindowsMobile”, “Blackberry”, […]

动态更改listview的分隔高度?

这个问题在这里被问到一个链接 另外我想澄清一下我在列表视图中有10个列表项的问题我希望每个列表项的deviderheight与第一个项不同,它应该是setDividerheight(2)for 2nd setDividerheight(4)就像这样.. 我制作了一个自定义Adapeter,我正在设置我的布局 public View getView(int position,View convertView,ViewGroup parent){View v = super.getView(position,convertView,parent); if(position ==2) { if (v != convertView && v != null) { ViewHolder holder = new ViewHolder(); // TextView tv = (TextView) v.findViewById(R.id.artist_albums_textview); // holder.albumsView = tv; convertView = mInflater.inflate(R.layout.jazz_artist_list_item, null); holder.albumsView = (TextView)convertView.findViewById(R.id.artist_albums_textview); // lv.setDividerHeight(8); v.setTag(holder); } } else { […]

在Android ListView中查看不重绘

我有一个Android ListView,它包含一个点击时需要检查的按钮。 click事件似乎正在起作用: public View getView(final int position, View convertView, ViewGroup parent) { final ViewHolder holder; LayoutInflater inflater = this._context.getLayoutInflater(); if (convertView == null) { convertView = inflater.inflate(R.layout.checkbox_cell, null); holder = new ViewHolder(); holder.checkbox = (CheckBox) convertView.findViewById(R.id.button); holder.textView = (TextView) convertView.findViewById(R.id.textView); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } if(holder.checkbox.isChecked()) { convertView.setBackgroundColor(Color.RED); holder.textView.setBackgroundColor(Color.RED); convertView.invalidate(); […]

ListView中的setOnItemClickListener影响多行

我有自定义列表视图和自定义适配器。 单击此列表视图的一行时,TextView的文本将设置为白色,此行的背景将设置为黑色。 一切都很好,但是当点击一行时,其他行的背景颜色也设置为黑色,当上下滚动时,所有行都会搞乱。 自定义适配器中的getView() public View getView(final int position, View convertView, ViewGroup parent) { final ListItem holder; View vi=convertView; if(vi==null){ vi = inflater.inflate(R.layout.list, null); holder = new ListItem(); holder.nametext= (TextView) vi.findViewById(R.id.name); vi.setTag(holder); }else{ holder = (ListItem) vi.getTag(); } holder.nametext.setText(“”+item.name); return vi; } 在主要活动中: CustomAdapter listadapter = new CustomAdapter(context, R.layout.list, items); list.setAdapter(listadapter); list.setOnItemClickListener(new OnItemClickListener() { @Override […]

列表视图中的水平ScrollView项目Android

我有一个包含20行的列表视图,我想为列表视图中的每个行项设置一个水平scrollview视图,因为每行包含多个项目。 这是我的代码: 内行布局,可以连续多次复制 BaseAdapter public class HorizontalListViewAdapter extends BaseAdapter { private Context context; private ArrayList<ArrayList> dataSet; public HorizontalListViewAdapter(Context context) { this.context = context; } @Override public int getCount() { return 20; } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return arg0; } @Override public long getItemId(int arg0) { // TODO Auto-generated […]

如何在textview单元格的底部添加1dp行(而不是表格布局)

我是android的新手,jsut是一个非常简单的简单问题,我如何在文本视图中添加一个底线,以便它在单元格底部显示为1dp,这是迄今为止的代码: line_str.xml如下: 任何帮助赞赏。 谢谢!

EditText焦点在ListView中

我有一个ListView ,在ListView我有一个Row,里面有一些TextViews和EditTexts 。 当我按下行的任何地方时,我希望EditText获得焦点,以便输入文本。 问题是我不能让这个工作。 当我将EditText放在ListView , OnItemClick在我单击ListView时不会响应。 我尝试在EditText上使用focusable=”false” ,它允许我再次单击ListView ,但即使将focusable设置为true,我也无法获得EditText 。 接下来我尝试在ListView使用android:descendantFocusability=”beforeDescendants”但它似乎没有做任何改变,它仍然无法工作。 有没有人知道我能做些什么让它起作用?

从列表中获取listItem数据

我讨厌由简单的游标适配器创建的列表: Cursor c = myDbHelper.rawQ(select); startManagingCursor(c); // the desired columns to be bound String[] columns = new String[] { “Books.BookTitle”, “Publishers.Publisher” }; // the XML defined views which the data will be bound to int[] to = new int[] { R.id.ISBN_entry, R.id.Title_entry }; // Getting results into our listview try { SimpleCursorAdapter mAdapter = new […]

将animation添加到ListView以展开/折叠内容

我有一个列表视图,它使用自定义适配器来显示我的自定义内容。 它的布局如下。 我希望listview只显示带有ids itemimage和项目描述的视图,保持itemtext隐藏。 我们的想法是在列表的每个项目上都有一个onclicklistener,以便扩展该项目,使其显示itemtext内容。 我知道我应该使用补间animation来扩展/折叠每个项目,但我无法弄清楚如何做到这一点。 任何人都可以帮助我吗? 如果您需要更多代码段,请随时提出。 提前致谢。

用于活动unit testing中的模拟数据源的Android技术

我对unit testing很陌生,我一直在学习如何使用jUnit框架来安装android(使用ActivityInstrumentationTestCase2 ),但是我在如何将模拟数据源注入和活动时遇到了麻烦,例如: 在活动中我有这个 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState,R.layout.market_screen); ListView products = (ListView)findViewById(R.id.product_list); MarketsAdapter adapter = new MarketsAdapter(this, new ProductDataSource()); products.setAdapter(adapter); } 我目前将ProductDataSource传递给适配器,该适配器连接到web服务以引入适配器的产品。 在我的测试中,我不想连接到Web服务。 将模拟数据源注入活动进行测试的最佳技术是什么? 我应该在Application实例中创建ProductDataSource,然后在我的测试中使用MockApplication来创建模拟数据源吗? 谢谢 我通过在测试类setUp()方法中执行以下操作来解决:获取对ListView的引用并使用setAdapter(MockDataSource)设置模拟数据源。 这必须使用runOnUiThread()方法在UI线程上运行。 mActivity = getActivity(); mDataSource = new FakeDataSource(); mMarketsListView = (ListView)mActivity.findViewById(R.id.product_list); mActivity.runOnUiThread( new Runnable() { public void run() { mMarketsListView.setAdapter(new MarketsAdapter(mActivity,mDataSource)); } // end of run() […]