小编Eur*_*nes的帖子

如何在string.xml文件中放置" - ",但没有转义

我有一个configuration.xml文件,我持有所有(是的,你猜对了!)..配置字符串和值和东西.

其中一个值是一个字符串,它是一个oauth客户端ID,它有一个连字符..

<string name="server_clientid">5467656-blahblahblah.apps.googleusercontent.com</string>
Run Code Online (Sandbox Code Playgroud)

现在我收到警告信息..

Replace "-" with an "en dash" character (–, &#8211;) ?
Run Code Online (Sandbox Code Playgroud)

好吧,但是如果我使用这个,那么当我在应用程序中获取它时,客户端ID无效.我不能用– 基本上.我该如何解决这个问题?

android

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

高效的字符串文本搜索

我想创建一个方法,搜索一小段文本(通常不超过256个字符),以存在大约20个不同的单词.如果它在文本中找到一个,无论大小写都返回true.

该方法将执行相当多(不是疯狂的数量),因此它必须尽可能高效.你觉得这里最好的是什么?

这20个字不会改变.它们是静态的.但要扫描的文本呢.

java

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

SQLiteException:错误代码5:数据库已锁定.从AsyncTask访问ContentProvider时

我经常遇到以下异常,我真的完全确定如何处理它.

java.lang.RuntimeException: An error occured while executing doInBackground()
    at android.os.AsyncTask$3.done(AsyncTask.java:200)
    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
    at java.lang.Thread.run(Thread.java:1019)
Caused by: android.database.sqlite.SQLiteException: error code 5: database is locked
    at android.database.sqlite.SQLiteStatement.native_execute(Native Method)
    at android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:61)
    at android.database.sqlite.SQLiteDatabase.delete(SQLiteDatabase.java:1704)
    at azurewing.android.db.provider.NotificationProvider.delete(NotificationProvider.java:80)
    at azurewing.android.db.provider.Provider.delete(Provider.java:87)
    at azurewing.android.db.provider.NotificationProvider.delete(NotificationProvider.java:1)
    at android.content.ContentProvider$Transport.delete(ContentProvider.java:234)
    at android.content.ContentResolver.delete(ContentResolver.java:692)
    at azurewing.android.db.table.NotificationTable.removeAllNotifications(NotificationTable.java:89)
    at azurewing.android.sync.SyncReceiver$1$1.doInBackground(SyncReceiver.java:52)
    at azurewing.android.sync.SyncReceiver$1$1.doInBackground(SyncReceiver.java:1)
    at android.os.AsyncTask$2.call(AsyncTask.java:185)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
    ... 4 more
Run Code Online (Sandbox Code Playgroud)

我通过AsyncTask访问ContentProvider(NotificationProvider here).ContentProvider当然使用数据库.

@Override
public int delete(Uri uri, String selection, String[] selectionArgs)
{
    SQLiteDatabase  db = database.getWritableDatabase();
    int …
Run Code Online (Sandbox Code Playgroud)

android

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

使用样式属性 setDisplayHomeAsUpEnabled

使用时是否可以AppCompatActivity指定getSupportActionBar().setDisplayHomeAsUpEnabled(true)使用样式,而不是以编程方式这样做?

我可以指定可绘制对象本身,但如何使用样式启用它?

<style name="MyActivityTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="actionBarTheme">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="homeAsUpIndicator">@drawable/ic_clear</item>
    <!-- Enable the above using a style attribute -->
</style>
Run Code Online (Sandbox Code Playgroud)

android android-styles

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

以编程方式调整TableLayout中的ImageView大小

如果我有一个TableLayout结构(下面)定义了2个ImageViews.一个还指定宽度/高度的像素值.这正如我所料 - Pic 1的大小调整为50px,pic2保持原始大小:

<TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
    <TableRow>
        <ImageView android:src="@drawable/pic1" android:layout_width="50px" android:layout_height="50px" />
        <ImageView android:src="@drawable/pic2" android:layout_width="wrap_content" android:layout_height="wrap_content" />
    </TableRow>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)

但我真的需要以编程方式执行上述操作,所以我这样做......

TableLayout tableLayout = new TableLayout(ctx);
TableRow tableRow = new TaleRow(ctx);

ImageView imageViewOne = new ImageView(ctx);
ImageView imageViewTwo = new ImageView(ctx);
imageViewOne.setImageResource(R.drawable.pic1);
imageViewTwo.setImageResource(R.drawable.pic2);

imageViewOne.setLayoutParams(new LayoutParams(50, 50));

rootView.addView(tableLayout);
tableLayout.addView(tableRow);
tableRow.addView(imageViewOne);
tableRow.addView(imageViewTwo);
Run Code Online (Sandbox Code Playgroud)

上面的内容与XML不同 - 在向它添加setLayoutParams()方法之后,第一个ImageView根本没有使用编程方式显示.

我在这里错过了什么,有什么不同之处?

谢谢!

android

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

标签 统计

android ×4

android-styles ×1

java ×1