2013年4月30日火曜日

起動後、EditTextにフォーカスがあたってキーボードが出るのを防ぐ

起動後や、ダイアログ表示後に、いきなりキーボードが表示されるのを防ぐには、別のViewにフォーカスを映す。

例えば、TextViewにフォーカスを移してしまう。


    <TextView
   android:layout_width="300dp"
   android:layout_height="30dp"
   android:text="STB MAC Address"
   android:textSize="25dp"
   android:layout_margin="3dp"
        android:layout_marginLeft = "10dp"
        android:focusable="true" 
           android:focusableInTouchMode="true"  >
     <requestFocus /> 
     </TextView>

上の例のように

 android:focusable="true"
 android:focusableInTouchMode="true"
 <requestFocus />
の3行を入れる。


2013年4月10日水曜日

WindowsのSJISファイルを読む


    //Text File 読み込みメソッド

    public String readText(String filename) throws IOException{
        FileInputStream in = new FileInputStream(filename);
        BufferedReader reader = new BufferedReader(new InputStreamReader(in,"MS932"));
        StringBuffer sb = new StringBuffer();
        String sbs;
        while ((sbs = reader.readLine()) != null) {
            sb.append(sbs);
        }
        in.close();

        return sb.toString();
    }

InputStreamReaderに、MS932の指定が必要。これが無いと文字化けする。

WindowsのSJISは厳密にはSJISでなく、拡張されていて、MS932である。
Javaでは、Shift_JISはMS932のことらしい。

文字コード説明
ISO-8859-1ASCII。
ISO-2022-JPJISコード。
Shift_JISJDK1.1 までは SJIS と同義。JDK1.2 からは MS932 と同義。
SJISシフトJIS。
MS932Microsoft 932。シフトJISとほぼ同様だが若干異なる。
CP932Code Page 932。MS932 とほぼ同様だが若干異なる。
EUC_JPEUC。