我想实现一个ViewPagers列表.ListView的每个项目都是ViewPager.这项工作到目前为止.我的问题是,我无法维持ViewPager的状态.例如:当我更改列表中第一个ViewPager的页面时,向下滚动直到第一个ViewPager不再可见,然后再次向上滚动,第一个ViewPager再次显示其第一页.
我写了两个适配器,一个用于ListView,另一个用于ViewPager.我正在尝试从ListAdapter中的getView方法的convertView参数回收视图.不确定我是否做得对,不知道如何在ViewPagerAdapter中做到这一点.
有任何想法吗?
这是我目前的代码:
来自MyListAdapter的getView:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mRowView = inflater.inflate(R.layout.listitem, parent, false);
}else{
mRowView=convertView;
}
switch(position){
case 0://Fussball
ViewPagerAdapter fussballAdapter = new ViewPagerAdapter(mContext,"Fussball");
ViewPager fussballPager = (ViewPager) mRowView.findViewById(R.id.viewpager1);
fussballPager.setAdapter(fussballAdapter);
break;
case 1://Handball
ViewPagerAdapter handballAdapter = new ViewPagerAdapter(mContext,"Handball");
ViewPager handballPager = (ViewPager) mRowView.findViewById(R.id.viewpager1);
handballPager.setAdapter(handballAdapter);
break;
//.../
default:
//Do nothing
}
return mRowView;
}
Run Code Online (Sandbox Code Playgroud)
来自ViewPagerAdapter的instantiateItem:
@Override
public Object instantiateItem(View pager, int position) {
inflater = (LayoutInflater) …Run Code Online (Sandbox Code Playgroud) 我在Thinkpad T430 ID 147e:2020 Upek上遇到指纹识别器的问题
几天,我正在尝试我能找到的每一个提示,但它对我不起作用.
主要是我试图构建并使其通过指纹GUI运行,我能够构建它并正确安装(经过一些修复),但它根本无法拿起我的设备.
有一次,我认为我有解决方案,因为我意识到,这台笔记本电脑指纹传感器是相当新的,也许是默认情况下不具有自主libbsapi.so,所以我试图按照从这个博客提示的支持:HTTP://沃尔克. de/2012/12/fingerprint-gui-und-das-thinkpad-t430s / Guy拥有完全相同的设备和相同的PC,但正如我所料,它对我不起作用.
平台是Debian-squeeze
如果你知道什么可以解决,请帮助.
我有一个文本文件(里面有内容),我想向它附加文本。这是我的代码:
File outputFile=new File('hello.out');
outputFile.createSync();
List<String> readLines=files[i].readAsLinesSync(Encoding.UTF_8);
for(int j=0;j<readLines.length;j++)
{
outputFile.writeAsStringSync(readLines[j], FileMode.APPEND); }
Run Code Online (Sandbox Code Playgroud)
出于某种原因,Dart 在“FileMode.APPEND”下放置了一条黄线,并表示这是一个“额外的参数”。但是,此链接http://api.dartlang.org/docs/releases/latest/dart_io/File.html声称它是可选的。
我试图跑步时遇到这个问题chrome.webRequest.onHeadersReceived.
这是我的代码:
的manifest.json
{
"manifest_version": 2,
"name": "testing",
"description": "testing",
"version": "1.0",
"permissions":
[
"webRequest","*://*/*","webRequestBlocking"
],
"content_scripts":
[
{
"matches": ["*://*/*"],
"css": ["highlight.css"],
"js": ["highlight.js","jquery-min.js" ],
"run_at": "document_end",
"all_frames": true
}
]}
Run Code Online (Sandbox Code Playgroud)
highlight.js
chrome.webRequest.onHeadersReceived.addListener(
function(info) {
var headers = info.responseHeaders;
for (var i=headers.length-1; i>=0; --i) {
var header = headers[i].name.toLowerCase();
if (header == 'x-frame-options' || header == 'frame-options') {
headers.splice(i, 1); // Remove header
}
}
return {responseHeaders: headers};
},
{
urls: [ '*://*/*' ], // Pattern to …Run Code Online (Sandbox Code Playgroud) 在hammer.js 1.1.3版本中,我能够完美地使用以下代码:
var button = Hammer(element, {
hold: true,
release: true
});
button .on('hold', function() {
//Do something when the hold event starts
});
button .on('release', function() {
//Do something when the hold event stops
});
Run Code Online (Sandbox Code Playgroud)
但是在hammer.js 2.0中,我很难找到一个等价物:
var button = new Hammer.Manager(element);
button.add(new Hammer.Press({
event: 'press',
pointer: 1,
threshold: 5,
time: 500
}));
button.on('press', function(event) {
//Do something when the the element is pressed after 500ms
});
//Possible handler when the element is released?
Run Code Online (Sandbox Code Playgroud)
根据新hammer.js 2.0 的文档(http://hammerjs.github.io/getting-started.html),有5个识别器: …
我对这段代码有疑问.
var names = ["John", "Jen", "Tony"];
var obj = {
prob: function () {
for (var i = 0; i < names.length; i++) {
document.write(names[i]);
console.log(names[i]);
}
},
trim: names.forEach(function(name) {
document.write(name)
console.log(name)
})
}
console.log("*********")
console.log(obj.prob());
console.log("*********")Run Code Online (Sandbox Code Playgroud)
如果我在我的控制台中运行此代码,我会得到这个:
John
Jen
Tony
*********
John
Jen
Tony
undefined
*********
Run Code Online (Sandbox Code Playgroud)
这意味着在我的prob函数之前,我调用我的trim函数运行.这是为什么?我没有打电话给它?我可以将它保存为对象的方法,并在以后需要时调用它吗?
我的理解是:
npm install //Installs everything that is listed in package.json
npm install --production //install everything minus dev packages
npm install $package --save //installs and add it to package.json
npm install $package --dev //install and add it to package.json but under dev
npm install --save-dev //??? isn't same thing as --dev flag
Run Code Online (Sandbox Code Playgroud)
也许没有这样的事情
npm install $package --dev
Run Code Online (Sandbox Code Playgroud) 我有一个弹簧启动应用程序。我有一个类来ControllerAdvice处理应用程序抛出的异常。
我创建了一个filter,我想用它来验证我所有请求的标头。当我从该过滤器抛出自定义异常时,它不会通过我的异常处理程序,而是使用默认的 Spring 错误控制。
有没有办法以我自己的方式处理过滤器的错误?
今天在编写一些特别糟糕的代码时,我偶然发现了这种神秘的行为.下面的Python 3程序打印随机选择的属性object.这是怎么发生的?
对于非确定性的一个明显的怀疑是vars(object)字典的随机排序,但我看不出它是如何导致观察到的行为.我得到的一个假设是,它是由__setattr__被覆盖的顺序引起的,但是lambda总是只被调用一次(通过打印调试检查)这一事实证明了这一点.
class TypeUnion:
pass
class t:
pass
def super_serious(obj):
proxy = t()
for name, val in vars(object).items():
if not callable(val) or type(val) is type:
continue
try:
setattr(t, name, lambda _, *x, **y: val)
except AttributeError:
pass
return proxy
print(super_serious(TypeUnion()).x)
Run Code Online (Sandbox Code Playgroud)
注意:上述程序并未试图做任何有用的事情; 它比原来大大减少了.
javascript ×3
android ×1
append ×1
dart ×1
dom ×1
file ×1
fingerprint ×1
foreach ×1
hammer.js ×1
linux ×1
name-lookup ×1
node.js ×1
npm ×1
python ×1
python-3.x ×1
spring ×1
spring-boot ×1