Android:TimePickerをWidgetで表示したら

Ver2系とVer4系で、TimePickerの表示がずれるという現象が。

手順としては、
1. A-ActivityにTimePickerをWidgetで|10|00|と表示
2. A-ActivityからB-ActivityをstartActivityForResult
3. B-ActivityをsetResultで閉じる
4. A-Activityが表示された時、 2系は|10|00|と表示されるが、4系は|06|06|みたいにずれてる。
いろいろいじってると、|空白|空白|みたいになったり。しかし、Hourの+や-を押すと、11や9が表示されるのでCurrentHourは正常に保存されてる様子。

結局、A-ActivityのonResumeで、親Viewにnew TimePicker()したViewをaddして表示。paddingやgravity等設定したりしてちょっと面倒だけど、とりあえず正常に表示されている。

よくわからん。

sedによるファイル内文字列の一括置換

何かと役立つ、sedコマンドによるファイル内文字列の一括置換

サンプルのファイルは下記のとおり、全部で10行で1-5行目までをもう一度繰り返し。
1.txt
  1 11111
  2 12345
  3 ABCDE
  4 abcde
  5 AAAAA
  6 11111
  7 12345
  8 ABCDE
  9 abcde
 10 AAAAA

オプションはいろいろありますが、とりあえずは下記だけ知ってれば何とかなるかも。
script機能
s/src/dst/正規表現の置換。最後にgを付ければ1行内の全マッチの置換を行う。1行だけ処理するのとは違う。
y/abc/ABC/パターンスペースの置換。sとの違いは、一文字ずつ変換を行う。aをAに、bをBというように
X数字を1つのみ指定した場合は、X行目のみ処理する。
from,to数字を2つ指定した場合は、from行目からto行目までを処理する。

また、sedの変換結果はstdoutに出るので、複数ファイルをまとめて置換するとまとめstdoutに出るのでパースが必要。シェルスクリプト等で1ファイルづつループで処理させるなどするといいかも(というかこういうの既にあったりして使いまわしてる。書いてもすぐだけど・・・)。

s/src/dst/の例

user01@PC01[tmp]$ sed -e "s/1/A/g" 1.txt
AAAAA
A2345
ABCDE
abcde
AAAAA
AAAAA
A2345
ABCDE
abcde
AAAAA

user01@PC01[tmp]$ sed -e "s/1/A/" 1.txt
A1111
A2345
ABCDE
abcde
AAAAA
A1111
A2345
ABCDE
abcde
AAAAA

y/src/dst/の例

yはやってみないと良くわからないかも。下記の例だと、1>6、2>7、3>8に1文字ずつ変換。
123を678に変換するのとは違う。
user01@PC01[tmp]$ sed -e "y/123/678/" 1.txt
66666
67845
ABCDE
abcde
AAAAA
66666
67845
ABCDE
abcde
AAAAA

行数指定の例

2行目だけ変換
user01@PC01[tmp]$ sed -e "2 s/1/A/" 1.txt
11111
A2345
ABCDE
abcde
AAAAA
11111
12345
ABCDE
abcde
AAAAA

6,7行目だけ変換
user01@PC01[tmp]$ sed -e "6,7 s/1/Z/g" 1.txt
11111
12345
ABCDE
abcde
AAAAA
ZZZZZ
Z2345
ABCDE
abcde
AAAAA

カテゴリ

Amazon

アクセスランキング

[ジャンルランキング]
コンピュータ
261位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
47位
アクセスランキングを見る>>

RSSリンクの表示

ブロとも申請フォーム

Copyright © nopgm