我开始将RxJava与SqlBrite结合使用,我遇到了zip运算符的一些问题.
假设我有2个课程,User并且Tweet.
public class User {
public long id;
public List<Tweet> users;
...
}
public class Tweet {
public long id;
public User poster;
...
}
Run Code Online (Sandbox Code Playgroud)
和他们各自的SQLite表:
user
---------
id INTEGER PRIMARY KEY
tweet
---------
id INTEGER PRIMARY KEY
poster_id INTEGER
FOREIGN KEY(poster_id) REFERENCES user(id)
Run Code Online (Sandbox Code Playgroud)
和他们各自的SqlBrite DAO
userDAO的:
public class UserDao {
private final BriteDatabase briteDb;
private final TweetDAO tweetDao;
...
public Observable<List<User>> getUsersWithTheirTweets() {
Observable<User> usersObs = briteDb.createQuery("user", "SELECT * FROM …Run Code Online (Sandbox Code Playgroud) 我有一个ListFragment我使用注册上下文菜单的地方registerForContextMenu(),我覆盖了onCreateContextMenu(). 问题是onCreateContextMenu()当我长按任何项目时从未调用过。
这是一些代码:
public class List_F extends ListFragment {
@Override
public void onActivityCreated(Bundle arg0) {
super.onActivityCreated(arg0);
registerForContextMenu(getListView());
setListAdapter(...);
setListShown(false);
// launch cursor loader
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getActivity().getMenuInflater();
inflater.inflate(R.menu.menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int i = item.getItemId();
if (i == R.id.menu_item_delete) {
delete(info.id);
return true;
} else {
return super.onContextItemSelected(item); …Run Code Online (Sandbox Code Playgroud)