我考虑了使用AsyncTaskLoader和Fragment(https://gist.github.com/codeswimmer/884591)的一些例子,我试图做同样的事情.但是现在我无法修复不兼容的类型错误 - 在onCreateLoader方法中.我不知道为什么会这样,因为我也做了同样的事情.
FeedLoader.java
public class FeedLoader extends AsyncTaskLoader<ArrayList<RSSItemData>> {
ArrayList<RSSItemData> listData;
Context ctx;
RSSItemData rssItem;
final Integer HTTP_CONNECTION_TIMEOUT = 15;
DBHelper dbHelper;
public FeedLoader(Context context) {
super(context);
this.ctx = context;
dbHelper = new DBHelper(ctx);
}
@Override
public ArrayList<RSSItemData> loadInBackground() {
listData = new ArrayList<RSSItemData>();
if(!BaseUtils.isNetworkAvailable(ctx)) return getNewsFromDB();
if(doWeHaveAnyNews()){
Log.d("myLogs", "We have news!");
String data = JSONUtils.getJSON("http://I-changed-URL.com", HTTP_CONNECTION_TIMEOUT*1000, ctx);
JSONResult result = new Gson().fromJson(data, JSONResult.class);
listData = result.items;
deleteAllNewsFromDB();
putNewsIntoDB(listData);
}
else{
Log.d("myLogs", "No news, retrieve from database"); …Run Code Online (Sandbox Code Playgroud) 如果当前页面是site.com/one并且我正在点击<Link to='/one'>One</Link>,它会在每次点击时将新项目推送到历史记录(但位置不会改变)。如何防止?这真是愚蠢的行为。
我是node.js和socket.io的新手.我不明白如何与房间一起工作.我正在创建类似私人消息的东西.每对用户都有自己独特的空间.
来自文档:
io.on('connection', function(socket){
socket.join('some room');
});
Run Code Online (Sandbox Code Playgroud)
但我需要从客户端创建一个房间.因为它很有活力.怎么样?
我遇到了一些例子https://gist.github.com/crtr0/2896891
server.js
io = socketio.listen(server);
io.sockets.on('connection', function(socket) {
socket.on('room', function(room) {
socket.join(room);
});
});
room = "abc123";
io.sockets.in(room).emit('message', 'what is going on, party people?');
Run Code Online (Sandbox Code Playgroud)
这条线让我抓狂.在我看来这很愚蠢.因为服务器永远不知道使用哪个房间.服务器只能处理多个房间.
room = "abc123";
Run Code Online (Sandbox Code Playgroud)
请帮助或解释.
我正在使用 React Material-UI库,但不明白如何覆盖 FormHelperText 样式?
const { classes } = this.props
...
<TextField
name='username'
label='Username'
error={this.state.usernameInvalid}
helperText={this.state.usernameError}
classes={{
root: classes.textField,
FormHelperText: classes.helperText // <-- how to override by right way?
}}
onChange={this.handleInputChange}
/>
...
export default withStyles(styles)(SignInPopup)
Run Code Online (Sandbox Code Playgroud)
款式:
const styles = () => ({
textField: {
width: '100%'
},
helperText: {
position: 'absolute',
bottom: '-50%'
}
})
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
Warning: Material-UI: the key `FormHelperText` provided to the classes property is not implemented in FormControl.
You can only override one of …Run Code Online (Sandbox Code Playgroud)