小编Coc*_*ess的帖子

字符串资源文件中的format语句

我在通常的strings.xml资源文件中定义了字符串,如下所示:

<string name="hello_world"> HELLO</string>
Run Code Online (Sandbox Code Playgroud)

是否可以定义格式字符串,如下所示

 result_str = String.format("Amount: %.2f  for %d days ",  var1, var2);
Run Code Online (Sandbox Code Playgroud)

在strings.xml资源文件中?

我试图逃避特殊字符,但它不起作用.

android android-layout android-xml

128
推荐指数
4
解决办法
11万
查看次数

为什么日期选择器会在我的视图中添加日历?


我开始学习如何在Android上进行开发.这很简单,但我面临一个问题,我没有在任何地方找到任何提及......

我有一个观点:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="vertical">

    <EditText
        android:id="@+id/editNomProduit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="@string/ht_nom_produit" />



    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
     android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="horizontal">

        <TextView
            android:id="@+id/labelQuantiteProduitEdit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/labelQuantiteProduitEdit"
            android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
        android:id="@+id/editQuantite"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number" />

<Spinner
    android:id="@+id/spinnerUnite"
    android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    </LinearLayout>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
     android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="horizontal">

        <TextView
            android:id="@+id/labeDateAchatProduitEdit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/labelDateAchatProduitEdit"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <DatePicker
            android:id="@+id/dpDateAchatProduit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

</LinearLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

其中显示了一个日期选择器.问题是日期选择器似乎除了日期选择器的经典滚轮之外还添加了一个日历(见图).我不想要这个观点,为日期而滚动.我是以错误的方式使用日期选择器还是这是原始行为?谢谢 !

纪尧姆

与canlendar的日期选择器

android android-layout android-calendar

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

Android:从现有URI保存文件

如何从现有的URI中保存媒体文件(比如.mp3),这是我从隐含意图获得的?

media android android-intent

17
推荐指数
4
解决办法
3万
查看次数

如何设置ActionBar样式,选中选项卡上的选项卡背景

我正在努力设计ActionBar.我的应用程序有一个带有三个选项卡的ActionBar.我试图让选定的标签具有背景颜色,而未选择的标签显示不同的颜色.我正在关注此参考:自定义操作栏.但是所有TAB都显示了选定的颜色.

我的styles.xml文件如下:

<style name="MyActionBarTabStyle" parent="android:style/Widget.Holo.Light.ActionBar.TabBar">
    <item name="android:background">@drawable/tab_background</item>
    <item name="android:paddingLeft">32dp</item>
    <item name="android:paddingRight">32dp</item>
</style> 

<style name="MyActionBarTabBarStyle" parent="android:style/Widget.Holo.Light.ActionBar.TabBar">

    <item name="android:background">@drawable/red</item>
</style> 


<style name="AppTheme.Light" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/ActionBar.Light</item>
    <item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>
    <item name="android:actionBarTabBarStyle">@style/MyActionBarTabBarStyle</item>

</style>
Run Code Online (Sandbox Code Playgroud)

tab_background只是一个9补丁.我也不确定我是否从正确的parent(parent="android:style/Widget.Holo.Light.ActionBar.TabBar)继承了操作栏选项卡.我查看了参考资料,发现很难理解样式层次结构

为什么我的标签显示不选择?提前感谢你的帮助.

android android-actionbar android-tabs android-styles

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

使用SSLSocket的TLS连接在Android OS中很慢

我正在开发一个使用SSLSocket连接到服务器的Android应用程序.这是我正在使用的代码:

// Connect
if (socket == null || socket.isClosed() || !socket.isConnected()) {
    if (socket != null && !socket.isClosed())
        socket.close();
    Log.i(getClass().toString(), "Connecting...");
    if (sslContext == null) {
        sslContext = SSLContext.getInstance("TLS");
        sslContext.init(null, trustAllCerts, new SecureRandom()); 
    }
    SSLSocketFactory socketFactory = sslContext.getSocketFactory();
    socket = (SSLSocket)socketFactory.createSocket(host, port);
    socket.setSoTimeout(20000);
    socket.setUseClientMode(true);
    connected = true;
    Log.i(getClass().toString(), "Connected.");
}

// Secure
if (connected) {
    Log.i(getClass().toString(), "Securing...");
    SSLSession session = socket.getSession();
    secured = session.isValid();
    if (secured) {
        Log.i(getClass().toString(), "Secured.");
    }
    else
        Log.i(getClass().toString(), "Securing failed.");
}
Run Code Online (Sandbox Code Playgroud)

问题是在下面的行中进行TLS握手需要大约5秒或更多事件:

SSLSession session = socket.getSession(); …
Run Code Online (Sandbox Code Playgroud)

java sockets ssl android

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

如何确定Timer任务是否已完成

我有以下代码:

Timer timer = new Timer();      
TimerTask task = new TimerTask() {

    @Override
    public void run() {
        // TODO Auto-generated method stub
    }
};

timer.schedule(task, 10000);//execute after 10 seconds
Run Code Online (Sandbox Code Playgroud)

我们可以确定该任务是否已经由计时器执行或者是否仍然有效?

java android timer timertask

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

如何在android中正确设置一个大的小部件图标

这是我的问题:我的程序有2个小部件.其中一个是4x1细胞大小.此小部件在清单文件中设置了一个图标(与小部件本身具有相同的宽度)

android:icon="@drawable/widget_4bg"
Run Code Online (Sandbox Code Playgroud)

我的问题是,在小部件列表中的Android OS 4.x手机上,图标不会传播到整个4个单元格,而只会在一个单元格中传播.

在此输入图像描述

如何以编程方式正确设置图标?

android widget android-widget android-appwidget

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

Java hashCode方法的最大返回值

有人能告诉我intJava String.hashCode()方法可以返回的最大值和最小值是多少?

java hash

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

从广播接收器发起的活动,尽管已经完成,仍保留在最近的任务中

我有两个我无法解决的活动的问题:

我有一个A活动,它使用警报管理器编程警报,警报接收器在3秒钟内启动一个只有完成按钮的B活动.

如果我从A编程报警管理器并按下后退按钮完成此活动,则会在3秒内显示B活动.一切正常.问题如下:如果我通过启动器重新打开应用程序,系统将启动A活动,但如果我通过长按主页按钮(最近使用的任务)启动应用程序,我总是打开B活动.我需要在完成B活动时,如果我从任何地方重新打开应用程序,A活动应该打开.

我试图将noHistory添加到活动B,但问题仍在继续.

以下是A活动的代码:

public class ActivityA extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_a);

    Button b=(Button) findViewById(R.id.initTimer);
    b.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            programTimer();
        }
    });
}

private void programTimer() {
    AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this, AlarmReciver.class);
    PendingIntent pIntent = PendingIntent.getBroadcast(this, 1, intent,  PendingIntent.FLAG_CANCEL_CURRENT);
    manager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+3000 , pIntent);
}
Run Code Online (Sandbox Code Playgroud)

}

B活动:

public class ActivityB extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_b);

    Button button= …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver android-activity back-stack

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

使用setAnchorView定位MediaController

我有一个MediaController,我希望它在右上角的位置,我使用方法SetAnchorView()跟随 我的布局

<RelativeLayout

    android:id="@+id/content_media"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
   <VideoView

       android:id="@+id/audio_play"
       android:layout_alignParentRight="true"
       android:layout_alignParentTop="true"
       android:layout_width="fill_parent"
       android:layout_height="0dp"
       android:layout_alignParentRight="true"
            />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

和MyMediaController

 VideoView video = (VideoView) findViewById(R.id.audio_play);
 MediaController mc = new MediaController(this);
 mc.setMediaPlayer(this);
 mc.setAnchorView(video);
Run Code Online (Sandbox Code Playgroud)

但我的MediaController已经显示在顶部中心屏幕.Plese帮帮我.谢谢!

android android-layout android-mediaplayer

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