当前位置: 编程技术>移动开发
本页文章导读:
▪ProgressDialog 旋动解决 ProgressDialog 转动解决
http://www.cnblogs.com/Tammie/archive/2012/08/10/2632083.htmlAndroid笔记:实现加载的progressDialog之后跳转到程序主界面http://blog.csdn.net/mars2639/article/details/6615424反正是能转了progressDial.........
▪ ListView中getChildAt(index)的运用注意事项 ListView中getChildAt(index)的使用注意事项
1.原理在很多时候ListView列表数据不需要全部刷新,只需刷新有数据变化的那一条,这时可以用getChildAt(index)获取某个指定position的view,并对该view进行.........
▪ T61 拆机四短报警 续 T61 拆机4短报警 续
再次检查T61的键盘和触控板连接,发现将触控板摘下来时,上面的触控杆可以使用,而装上触控板的时候就不能用了。在细细看了之后,发现笔记本连接触控板的地方数据.........
[1]ProgressDialog 旋动解决
来源: 互联网 发布时间: 2014-02-18
ProgressDialog 转动解决
http://www.cnblogs.com/Tammie/archive/2012/08/10/2632083.html
Android笔记:实现加载的progressDialog之后跳转到程序主界面http://blog.csdn.net/mars2639/article/details/6615424
反正是能转了
Handler:
按照网上的说法,应该新启Thread。。。。可是启了都不行。。。还是不转
似乎是Activity跳转影响的...按理说应该把耗时的操作放在Thread中,但是发现放在Thread和放在Handler似乎没有什么区别(至少再本例中没有什么区别)。。。貌似在于sleep后,就可以转了。。。其实还是个假转。
好了可以交差了,记录备忘。
http://www.cnblogs.com/Tammie/archive/2012/08/10/2632083.html
Android笔记:实现加载的progressDialog之后跳转到程序主界面http://blog.csdn.net/mars2639/article/details/6615424
反正是能转了
progressDialog = ProgressDialog.show(this, getString(R.string.app_name),getString(R.string.tv_dialog_context2),true); //barcode_handler.sendEmptyMessage(0); //runOnUiThread(barcode_runnable); //showDialog(DIALOG1_KEY); new Thread(){ @Override public void run(){ /*startActivity(new Intent(ChooseProductActivity.this,CaptureActivity.class)); overridePendingTransition(R.anim.slide_right_in,R.anim.slide_left_out);*/ //barcode_handler.sendEmptyMessage(0); /*Message msg_listData = new Message(); msg_listData.what = MESSAGETYPE_01; barcode_handler.sendMessage(msg_listData);*/ try { sleep(2000);//关键 //Intent mIntent = new Intent(); //mIntent.setClass(ChooseProductActivity.this,CaptureActivity.class); //startActivity(mIntent); //overridePendingTransition(R.anim.slide_right_in,R.anim.slide_left_out); } catch (Exception e) { e.printStackTrace(); } finally { barcode_handler.sendEmptyMessage(0); } } }.start();
Handler:
private Handler barcode_handler = new Handler(){ @Override public void handleMessage(Message msg){ startActivity(new Intent(ChooseProductActivity.this,CaptureActivity.class)); overridePendingTransition(R.anim.slide_right_in,R.anim.slide_left_out); progressDialog.dismiss(); //关闭进度条 } };
按照网上的说法,应该新启Thread。。。。可是启了都不行。。。还是不转
似乎是Activity跳转影响的...按理说应该把耗时的操作放在Thread中,但是发现放在Thread和放在Handler似乎没有什么区别(至少再本例中没有什么区别)。。。貌似在于sleep后,就可以转了。。。其实还是个假转。
好了可以交差了,记录备忘。
[2] ListView中getChildAt(index)的运用注意事项
来源: 互联网 发布时间: 2014-02-18
ListView中getChildAt(index)的使用注意事项
1.原理
在很多时候ListView列表数据不需要全部刷新,只需刷新有数据变化的那一条,这时可以用getChildAt(index)获取某个指定position的view,并对该view进行刷新。
注意:在ListView中,使用getChildAt(index)的取值,只能是当前可见区域(列表可滚动)的子项!
即取值范围在 >= ListView.getFirstVisiblePosition() && <= ListView.getLastVisiblePosition();
1)所以如果想获取前部的将会出现返回Null值空指针问题;
2)getChildCount跟getCount获取的值将会不一样(数量多时);
3 )如果使用了getChildAt(index).findViewById(...)设置值的话,滚动列表时值就会改变了。
需要使用getFirstVisiblePosition()获得第一个可见的位置,再用当前的position-它,再用getChildAt取值!即getChildAt(position - ListView。getFirstVisiblePosition()).findViewById(...)去设置值
2.如果想更新某一行数据,需要配合ListView的滚动状态使用,一般不滚动时才加载更新数据
//全局变量,用来记录ScrollView的滚动状态,1表示开始滚动,2表示正在滚动,0表示停止滚动
伪代码
ListView设置
public int scrollStates;
class OnScrollListenerImpl implements OnScrollListener{
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
scrollStates = scrollState;
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
int lastInScreen = firstVisibleItem + visibleItemCount;
}
listView.setOnScrollListener(new OnScrollListenerImpl());
Activity中
if(scrollStates==OnScrollListener.SCROLL_STATE_IDLE){
更新视图数据
}
1.原理
在很多时候ListView列表数据不需要全部刷新,只需刷新有数据变化的那一条,这时可以用getChildAt(index)获取某个指定position的view,并对该view进行刷新。
注意:在ListView中,使用getChildAt(index)的取值,只能是当前可见区域(列表可滚动)的子项!
即取值范围在 >= ListView.getFirstVisiblePosition() && <= ListView.getLastVisiblePosition();
1)所以如果想获取前部的将会出现返回Null值空指针问题;
2)getChildCount跟getCount获取的值将会不一样(数量多时);
3 )如果使用了getChildAt(index).findViewById(...)设置值的话,滚动列表时值就会改变了。
需要使用getFirstVisiblePosition()获得第一个可见的位置,再用当前的position-它,再用getChildAt取值!即getChildAt(position - ListView。getFirstVisiblePosition()).findViewById(...)去设置值
2.如果想更新某一行数据,需要配合ListView的滚动状态使用,一般不滚动时才加载更新数据
//全局变量,用来记录ScrollView的滚动状态,1表示开始滚动,2表示正在滚动,0表示停止滚动
伪代码
ListView设置
public int scrollStates;
class OnScrollListenerImpl implements OnScrollListener{
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
scrollStates = scrollState;
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
int lastInScreen = firstVisibleItem + visibleItemCount;
}
listView.setOnScrollListener(new OnScrollListenerImpl());
Activity中
if(scrollStates==OnScrollListener.SCROLL_STATE_IDLE){
更新视图数据
}
[3] T61 拆机四短报警 续
来源: 互联网 发布时间: 2014-02-18
T61 拆机4短报警 续
再次检查T61的键盘和触控板连接,发现将触控板摘下来时,上面的触控杆可以使用,而装上触控板的时候就不能用了。在细细看了之后,发现笔记本连接触控板的地方数据线已经断了。真糟糕。那么只好不装吧。
最新技术文章: