2014-05-14 2 views
0

내가 잘 작동하지만, Kitkat으로 버전이 초를 표시하지 않습니다 디지털 시계를 코드 위안드로이드 디지털 시계는 4.4.2

<?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:orientation="vertical" > 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Analog Clock" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<AnalogClock 
    android:id="@+id/analogClock1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Digital Clock" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<DigitalClock 
    android:id="@+id/digitalClock1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="DigitalClock" /> 

</LinearLayout> 

public class MyAndroidAppActivity extends Activity { 

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

    AnalogClock ac = (AnalogClock) findViewById(R.id.analogClock1); 
    //what can i do with AnalogClock? 

    DigitalClock dc = (DigitalClock) findViewById(R.id.digitalClock1); 
    //what can i do with DigitalClock also? for display only 

} 

} 

을 표시하려면 다음 코드를 사용하고 Kitkat으로 (초)을 표시하지 않는 방법 초

을 가능하게하는 저를 도와주세요

여기 내 스크린 샷 나의 영어, Google 번역을 위해 넥서스 7 Screen Shot in Nexus 7 which is running 4.2.2

+0

안녕하세요 ... Dharani에서 일하고 있습니까 ??? – RuntimeException

답변

1

죄송 촬영 부착하고있다. 내 전화기에 있었어. 프레임 워크

디 컴파일 framework.jar

추가 \ smali \ 안드로이드 \ 위젯 \ DigitalClock.smali

# static fields 
.field private static final m12:Ljava/lang/String; = "h:mm:ss aa" 

.field private static final m24:Ljava/lang/String; = "k:mm:ss" 

.method private get24HourMode()Z 
    .locals 1 

    .prologue 
    .line 1090 
    invoke-virtual {p0}, Landroid/widget/DigitalClock;->getContext()Landroid/content/Context; 

    move-result-object v0 

    invoke-static {v0}, Landroid/text/format/DateFormat;->is24HourFormat(Landroid/content/Context;)Z 

    move-result v0 

    return v0 
.end method 

방법 .method 개인 setFormat() V 완전히 대체하는

.method private setFormat()V 
    .locals 1 

    .prologue 
    .line 1130 
    invoke-direct {p0}, Landroid/widget/DigitalClock;->get24HourMode()Z 

    move-result v0 

    if-eqz v0, :cond_0 

    .line 1140 
    const-string v0, "k:mm:ss" 

    iput-object v0, p0, Landroid/widget/DigitalClock;->mFormat:Ljava/lang/String; 

    .line 1180 
    :goto_0 
    return-void 

    .line 1160 
    :cond_0 
    const-string v0, "h:mm:ss aa" 

    iput-object v0, p0, Landroid/widget/DigitalClock;->mFormat:Ljava/lang/String; 

    goto :goto_0 
.end method 
관련 문제