小编use*_*428的帖子

按升序对 SMS 消息进行排序

当我在 Android 中查询 SMS 提供商时,我会收到从旧到最新的消息。我正在使用以下查询:

Cursor cursor = getContentResolver().query(messagesUri,null,null,null,null);
Run Code Online (Sandbox Code Playgroud)

是否可以以相反的方式对其进行排序?

sqlite sms android android-contentprovider

2
推荐指数
1
解决办法
2970
查看次数

对象在回调函数之外变为空

我有一个回调函数,其结果我保存在类变量中,如下所示:

public class MyClass {

    private double myDouble;
    private MyObject myObject;

    public myMethod() {

        AnotherObject anotherObject = new AnotherObject();        
        anotherObject.getInfo(new Callback<String>() {
            @Override
            public void success(MyObject myObject) {
                MyClass.this.myObject = myObject; // I save myObject inside the class variable myObject
                Log.d("LOG", "Value of myObject " + MyClass.this.myObject);

            }

            // a method for the failure case
        });
        Log.d("LOG", "Value of myObject " + MyClass.this.myObject);

    }
}
Run Code Online (Sandbox Code Playgroud)

第一条日志消息给出了正确的值,我假设类变量myObject正确存储了对象值.但是,success函数外部的第二条日志消息将返回null.

如何在回调函数之外获取正确的对象值?

java android

2
推荐指数
1
解决办法
478
查看次数

如何在BroadcastReceiver中打开数据库

我创建了一个用于管理SQLite数据库的类.部分代码如下:

public class Database extends SQLiteOpenHelper {

private static final String DATABASE_NAME = "name";
private static final int DATABASE_VERSION = 1;

public Database (Context ctx) {
    super(ctx, DATABASE_NAME, null, DATABASE_VERSION);
}
Run Code Online (Sandbox Code Playgroud)

然后我创建了另一个类,它是一个SMS侦听器(扩展BroadcastReceiver).在这个类的内部,我无法使用以下命令创建数据库:

db = new Database(this);
Run Code Online (Sandbox Code Playgroud)

因为我收到此错误消息:

The constructor Database(SmsListener) is undefined
Run Code Online (Sandbox Code Playgroud)

我应该如何更改代码以便能够从SmsListener类内部打开数据库连接?

java android listener broadcastreceiver

1
推荐指数
1
解决办法
2345
查看次数

在选项卡式活动中添加和替换片段

我在Android Studio中创建了一个示例选项卡式活动,现在我想在其中显示一些我自己的片段,而不是默认的占位符文本.

在其他项目中,我将创建一个空白片段,并使用以下代码添加它:

BlankFragment1 blankFragment1 = new BlankFragment1();
getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, blankFragment1).commit();
Run Code Online (Sandbox Code Playgroud)

如果我导入空白片段类和xml布局并简单地在PlaceholderFragment类中粘贴这两行,我得到

Non-Static method cannot be referenced from a static context
Run Code Online (Sandbox Code Playgroud)

所以,我尝试创建一个PlaceholderFragment实例并调用getSupportFragmentManager()它:

PlaceholderFragment placeholderFragment = new PlaceholderFragment();
        placeholderFragment.getSupportFragmentManager().beginTransaction().add(R.id.container, blankFragment1).commit();
Run Code Online (Sandbox Code Playgroud)

但现在我明白了

Cannot resolve method 'getSupportFragmentManager()'
Run Code Online (Sandbox Code Playgroud)

所以我认为可能有更好更简单的方法来做这件事.

在选项卡式活动中使用某些现有片段的最佳方法是什么?

作为参考,这是整个MainActivity类:

public class MainActivity extends FragmentActivity implements BlankFragment1.OnFragmentInteractionListener {

/**
 * The {@link android.support.v4.view.PagerAdapter} that will provide
 * fragments for each of the sections. We use a
 * {@link FragmentPagerAdapter} derivative, which will keep every
 * loaded fragment in memory. If this becomes …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-tabbed-activity

0
推荐指数
1
解决办法
786
查看次数

Objective-C中的正则表达式

在Objective-C中处理正则表达式时,正确的语法是什么?

假设我有以下字符串:

NSString *string = @"my string";
Run Code Online (Sandbox Code Playgroud)

以及以下正则表达式:

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(a|b)*"];
Run Code Online (Sandbox Code Playgroud)

如果我必须匹配这个正则表达式的字符串,将遵循足够的?

if(NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(a|b)*"]) {
  // do something
}
Run Code Online (Sandbox Code Playgroud)

如果字符串与regexp ^^匹配,我习惯于Java matches已经返回的Javatrue

regex objective-c

-2
推荐指数
1
解决办法
4848
查看次数