カスタム ビュー クラスString
には、画像のパス用、画像の前に表示されるテキスト用、および後に表示されるテキスト用の 3 つのパラメーターを受け取るコンストラクターが必要です。
class YourView {
public YourView(String imgPath, String beforeImg, String afterImg){
//add TextView for text before image
//add ImageView for image
//add TextView for text after image
}
}
画像が常に で囲まれる場合{[ ]}
、正規表現はキャプチャグループ 0 で(.+)\\{\\[(.+)\\]\\}(.+)
の前のすべてをキャプチャし、グループ 1 でと(画像パス) の間のすべてをキャプチャし、グループ 2 でその後のすべてをキャプチャします。{[
{[
}]
}]
Java を使用すると、次のMatcher
ような目的の結果を得ることができます。
String pre, path, post;
while (matcher.find()){
pre = matcher.group(0);
path = matcher.group(1);
post = matcher.group(2);
YourView view = new YourView(path, pre, post);
//add view
}
画像がテキストの末尾または先頭にある場合は、ここで 3 番目または 1 番目のパラメーターとして空の文字列を渡すだけで、空の TextView が作成されることに注意してください。チェックを行い、空の文字列に対しては作成しません)。
とはいえ、上記のコードはテストされていないことにも注意してください (しかし、一般的なアイデアを提供する必要があります)。