我有一个应用程序,处理片段和ViewPager.我在ViewPager中有三个片段.当您在它们之间切换时,它总是会导致其他两个片段调用它们的onCreateView方法.只有当FragmentActivity被创建时,如何只做一次?我已经阅读了一些问题并尝试了解决方案,但片段仍然具有相同的行为.
ListFragment onCreate被调用两次
onCreate()和onCreateView()调用了比需要更多的东西(片段)
这是一些代码,如果它可以帮助你,那些人:
主要活动:
public class StartingActivity extends FragmentActivity implements View.OnClickListener {
ViewPager viewPager;
CirclePageIndicator pageIndicator;
Button discount;
Button qrCode;
Button pay;
TabHost tabHost;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.starting_layout);
viewPager = (ViewPager) findViewById(R.id.pager);
if (savedInstanceState == null) {
Fragment firstPage = Fragment.instantiate(this, FindTovarFragment.class.getName());
Fragment secondPage = Fragment.instantiate(this, MainWindowActivity.class.getName());
Fragment thirdPage = Fragment.instantiate(this, MapActivity.class.getName());
if ((firstPage != null && !firstPage.isDetached())|| (secondPage != null && !secondPage.isDetached()) || (thirdPage != null && !thirdPage.isDetached())) {
List<Fragment> viewPagerFragments = new ArrayList<Fragment>(); …Run Code Online (Sandbox Code Playgroud) android android-fragments android-viewpager android-fragmentactivity
伙计们!我有一个新问题.我正在使用不同的缓存管理器向缓存添加一些数据,我正面临着它的问题.我是用junit和spring做的.当我运行测试时,测试方法是随机执行的,但我需要按顺序执行它们.怎么做??这是一些代码和证明控制台输出:
服务类:
@Service("HelloCache")
public class CacheServiceImpl implements CacheInterface {
@Autowired
@Qualifier("memcachedClient")
private MemcachedClient mBean;
public void Add(String key, Object object) {
mBean.set(key, 12, object);
}
public void Get(String key) {
mBean.get(key);
}
public void Delete(String key) {
mBean.delete(key);
}
}
Run Code Online (Sandbox Code Playgroud)
这是测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "file:src/main/java/spring.xml")
public class UsingMemcachedTest extends TestCase {
@Autowired
@Qualifier("HelloCache")
private CacheInterface emcached;
private byte[][] i = new byte[2500][3000];
private String key = "j";
@Test
public void testAddBulkObjects() {
System.out.println("");
System.out.println("This is async BULK adding test");
long …Run Code Online (Sandbox Code Playgroud) 我正在尝试在OS X macbook上设置apache cassandra.我正在尝试测试NoSql数据库,我已经设置了memcached和redis.但是使用cassandra我正在使用oracle的jdk 1.7.0_09我遵循了安装说明,但是当我尝试启动服务器时,我从控制台得到了这个问题:
MacBook-Air-Urij:bin urijvoskresenskij$ ./cassandra -f
xss = -ea -javaagent:./../lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms1024M -Xmx1024M -Xmn200M -XX:+HeapDumpOnOutOfMemoryError
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /var/log/cassandra/system.log (Permission denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
at java.io.FileOutputStream.<init>(FileOutputStream.java:136)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)
at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:207)
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165)
at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:809)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:395)
at org.apache.log4j.PropertyWatchdog.doOnChange(PropertyConfigurator.java:922)
at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:89)
at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:58)
at org.apache.log4j.PropertyWatchdog.<init>(PropertyConfigurator.java:914)
at org.apache.log4j.PropertyConfigurator.configureAndWatch(PropertyConfigurator.java:461)
at org.apache.cassandra.service.AbstractCassandraDaemon.initLog4j(AbstractCassandraDaemon.java:100)
at org.apache.cassandra.thrift.CassandraDaemon.<clinit>(CassandraDaemon.java:61)
INFO 17:40:17,717 Logging initialized
INFO 17:40:17,720 JVM vendor/version: Java HotSpot(TM) …Run Code Online (Sandbox Code Playgroud) 我在Java中有一个缓存应用程序,我需要在缓存中放置不同大小的对象.问题是我真的不知道如何计算自定义对象的大小,我找到了解决方案 - 使用该库:http://mvnrepository.com/artifact/com.googlecode.sizeofag/sizeofag/ 1.0.0.要使用库运行程序,我需要指定命令行参数-javaagent.那么,如果我使用maven怎么办?
该计划很简单:
protected static Boolean b;
public static void main( String[] args )
{
System.out.println(SizeOfAgent.sizeOf(b));
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
0
Can not access instrumentation environment.
Please check if jar file containing SizeOfAgent class is
specified in the java's "-javaagent" command line argument.
Run Code Online (Sandbox Code Playgroud)
PS我知道,这样的问题已经存在,但它没有正确的答案.
我已经使用Java成功地将一些列插入到cassandra中.但是当我尝试列出cassandra客户端中的所有列时,它说,列数是有限的,限制是100.我需要的远不止这些.也许有人知道,如何改变这个限制?
这是我从cassandra的客户那里得到的:
[default@Keyspace1] list user;
Using default limit of 100
Using default column limit of 100
-------------------
RowKey: 313030
=> (column=45454531, value=56616c756531, timestamp=1357880630549)
=> (column=4545453130, value=56616c75653130, timestamp=1357880630580)
=> (column=454545313030, value=56616c7565313030, timestamp=1357880630682)
=> (column=45454531303030, value=56616c756531303030, timestamp=1357880631306)
=> (column=454545313031, value=56616c7565313031, timestamp=1357880630682)
=> (column=454545313032, value=56616c7565313032, timestamp=1357880630683)
=> (column=454545313033, value=56616c7565313033, timestamp=1357880630684)
=> (column=454545313034, value=56616c7565313034, timestamp=1357880630684)
=> (column=454545313035, value=56616c7565313035, timestamp=1357880630685)
=> (column=454545313036, value=56616c7565313036, timestamp=1357880630686)
=> (column=454545313037, value=56616c7565313037, timestamp=1357880630686)
=> (column=454545313038, value=56616c7565313038, timestamp=1357880630687)
=> (column=454545313039, value=56616c7565313039, timestamp=1357880630688)
=> (column=4545453131, value=56616c75653131, timestamp=1357880630581)
=> (column=454545313130, value=56616c7565313130, timestamp=1357880630689)
=> …Run Code Online (Sandbox Code Playgroud) 我创建了一个使用一些地图功能的应用程序.我已将一个MKMapView添加到UITableViewCell和WebView到另一个uiTableviewcell(我需要这个,因为它看起来很优雅).我已经创建了自定义单元格.我的uitableview委托和数据源方法:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSInteger section = indexPath.section;
switch (section)
{
case 0:
return [self cellForMapView];
case 1:
return [self cellForUIWebView];
}
return nil;
}
-(UITableViewCell *)cellForMapView
{
//if (_mapViewCell)
// return _mapViewCell;
// if not cached, setup the map view...
CGFloat cellWidth = self.view.bounds.size.width - 20;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
cellWidth = self.view.bounds.size.width - 90;
}
CGRect frame = …Run Code Online (Sandbox Code Playgroud) java ×3
cassandra ×2
android ×1
ios ×1
javaagents ×1
junit ×1
limit ×1
macos ×1
memcached ×1
mkmapview ×1
objective-c ×1
sizeof ×1
spring ×1
uitableview ×1