android listview反序和正序显示

本人很喜欢晚上睡觉用暴风语音看电影,如图:

现在写个demo 演示下

MainActivity.java

package com.example.listview;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.BaseAdapter;

import android.widget.Button;

import android.widget.ListView;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener, OnItemClickListener {

private Button btn;

private ListView listview;

private List<String> datas;

private MyAdapter adapter;

private boolean isFu;

private List<String> mDatas;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

listview = (ListView) findViewById(R.id.listview);

btn = (Button) findViewById(R.id.btn);

btn.setOnClickListener(this);

initData();

listview.setOnItemClickListener(this);

}

private void initData() {

datas = new ArrayList<String>();

mDatas = new ArrayList<String>();

for(int i=0;i<100;i++){

datas.add("测试"+i);

}

for(int i=datas.size()-1;i>=0;i--){

mDatas.add(datas.get(i));

}

adapter = new MyAdapter();

adapter.setDatas(datas);

listview.setAdapter(adapter);

}

class MyAdapter extends BaseAdapter{

private List<String> datas;

public void setDatas(List<String> datas) {

this.datas = datas;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return datas.size();

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return datas.get(position);

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

TextView tv = new TextView(MainActivity.this);

tv.setText(datas.get(position));

tv.setTextSize(20);

return tv;

}

}

@Override

public void onClick(View v) {

if(isFu){

btn.setText("正序");

isFu = false;

adapter.setDatas(datas);

adapter.notifyDataSetChanged();

}else{

btn.setText("反序");

isFu = true;

adapter.setDatas(mDatas);

adapter.notifyDataSetChanged();

}

}

@Override

public void onItemClick(AdapterView<?> parent, View view, int position,

long id) {

String content = (String) adapter.getItem(position);

if(isFu){

Toast.makeText(getApplicationContext(), content, 0).show();

}else{

Toast.makeText(getApplicationContext(), content, 0).show();

}

}

}

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

>

<Button

android:id="@+id/btn"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="正序" />

<ListView

android:id="@+id/listview"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:cacheColorHint="#00000000"

android:layout_below="@id/btn"

android:layout_marginTop="3dp"

></ListView>

</RelativeLayout>

时间: 2024-10-10 20:28:39

android listview反序和正序显示的相关文章

android ListView条目中TextView隐藏到显示时的测量

觉得ExpendableListView挺好用,但是就是代码复杂了点,我一时半会理解不了,于是就直接自己写个效果来实现.先来看一下expendableListView中展开的动画效果: 然后我模仿此效果,建立如下的item布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent" andr

Android listView如何判断数据多屏显示 (2012-03-06 09:47:04)

@Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // System.out.println("firstVisibleItem"+firstVisibleItem); // System.out.println("visibleItemCount"+visibleItemCount);

Android ListView异步加载图片乱序问题,原因分析及解决方案

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/45586553 在Android所有系统自带的控件当中,ListView这个控件算是用法比较复杂的了,关键是用法复杂也就算了,它还经常会出现一些稀奇古怪的问题,让人非常头疼.比如说在ListView中加载图片,如果是同步加载图片倒还好,但是一旦使用异步加载图片那么问题就来了,这个问题我相信很多Android开发者都曾经遇到过,就是异步加载图片会出现错位乱序的情况.遇到这个问题时,不

SortedDictionary&lt;TKey,TValue&gt;正序与反序排序

SortedDictionary<TKey,TValue>能对字典排序 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SortDictionary { class Program { static void Main(string[] args) { TestDictionarySort()

python找出一个正序反序都相等的数字(例如28682)

直接上代码 #coding:utf-8 def f1(x): #定义一个函数,查找正序反序都相等的数字 if type(x) !=int: #如果函数参数不是整型,退出程序 exit('must a int type') x=str(x) lix=list(x) str1='' i=len(lix)-1 while i <len(lix) and i >=0: #循环的作用是将字符串从尾到头重新组合相加一次 str1=str1+lix[i] i=i-1 if x==str1: #如果源字符串和

treemap反序输出 逆序输出 输出倒数几个值

treemap是按键的ASCII码从小到大排序的,比如要对若干个带有时间属性的对象排序时,可以用时间作键,放到Treemap中,即是有序集合了.先不管性能,省了很多自己写排序的实现了. 默认是按key的ASCII码顺序由小到大排序的,如果要实现自定义的排序,则要重写treemap的比较器. 最简单的方法就是使用集合对象自带的方法,Collections.reverseOrder() 具体代码如下 package com.example.commonwtf2.test; import java.u

算法-整数的正序和逆序输出

其实上一篇文章用递归实现了整数的正序输出,思考了整数还是可以逆序输出,不过大同小异,没有太多差别: 正序输出 -(void)printOutNumber:(NSInteger)number{ //取整,不断的递归取整,之后取余 if (number>10) { [self printOutNumber:number/10]; } NSLog(@"数值%ld",number%10); } 逆序输出 循环输出,这个比较简单容易理解: -(void)reverseNumber:(NSI

用结构体指针存储数据__正序_逆序下的输入

逆序输入 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <malloc.h> 4 #define maxn 1000 5 6 //邻接表(点很多,边较少) 7 //共有n个点,点编号为1~n,m条边 8 //无向图 9 10 struct node 11 { 12 long value; 13 struct node *next; 14 }*d[maxn+1]; 15 16 int main() 17 { 1

Ka递归的编程练习 Part2|做到吐的正序逆序输出、等差数列和

1 #include<stdio.h> 2 void PP(int n) 3 { 4 if(n==0) return; 5 PP(n/10); 6 printf("%d",n%10); 7 } 8 void NP(int n) 9 { 10 if(n==0) return; 11 printf("%d",n%10); 12 PP(n/10); 13 } 14 int Ad(int n) 15 { 16 if(n==0) return 0; 17 if(n