При использовании одной пары {{# ......}} {{/ .......}} в исходном коде для отображения / скрытия, тогда все работает просто отлично;при добавлении еще одной пары (показать / скрыть) выдается ошибка:
03-11 09: 53: 33.847: WARN / dalvikvm (13459): threadid = 1: поток завершается снеобработанное исключение (группа = 0x2aacc8a0) 03-11 09: 53: 33.917: ОШИБКА / AndroidRuntime (13459): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: main java.lang.RuntimeException: Невозможно запустить действие ComponentInfo {com.example / com.example.MyActivity}:com.samskivert.mustache.MustacheParseException: в разделе отсутствует закрывающий тег 'dic' @ line 47 на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2705) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2721) на андроиде.app.ActivityThread.access $ 2300 (ActivityThread.java:132) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2071) на android.os.Handler.dispatchMessage (Handler.java:99) на android.os.Looper.loop (Looper.java:123) при android.app.ActivityThread.main (ActivityThread.java:4669) при java.lang.reflect.Method.invokeNative (нативный метод) при java.lang.reflect.Method.invoke (Method.java:521) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:876) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:634) в dalvik.system.NativeStart.main (собственный метод) Причина: com.samskivert.mustache.MustacheParseException: в разделе отсутствует закрывающий тег 'dic' @ line 47 на com.samskivert.mustache.Mustache $ Накопитель $ 1.finish (Mustache.java:433)) на com.samskivert.mustache.Mustache.compile (Mustache.java:167) на com.samskivert.mustache.Mustache $ Compiler.compile (Mustache.java:61) на com.samskivert.mustache.Mustache $ Compiler.compile (Mustache.java:56) на com.example.MyActivity.onCreate (MyActivity.java:130) на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1047) на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2669) ... 11 more 03-11 09: 53: 34.007: WARN / ActivityManager (179): принудительное завершение действия com.example / .MyActivity 03-11 09: 53: 34.007: WARN / WindowManager (179): updateFocusedWindowLocked newFocus= нулевой режим = 0 mCurrentFocus = нулевой 03-11 09: 53: 34.047: WARN / WindowManager (179): updateFocusedWindowLocked newFocus = Window {300fb6b8 application Ошибка!paused = false} mode = 1 mCurrentFocus = null 03-11 09: 53: 34.057: WARN / WindowManager (179): updateFocusedWindowLocked newFocus = Window {300fb6b8 Ошибка приложения!paused = false} mode = 3 mCurrentFocus = Window {300fb6b8 application Ошибка!paused = false} 03-11 09: 53: 34.057: DEBUG / KeyguardViewMediator (179): setHidden false
Строка кода с ошибкой:
Template tmpl = Mustache.compiler().escapeHTML(false).compile(template);
Код программы:
public class MyActivity extends Activity
{
private final static String LOG = "WedView";
String template;
String value = "";
Boolean True = true;
Boolean False = false;
WebView mWebView;
private class ContosoWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) throws MustacheException
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Tg tg = new Tg(new Date(), "5345", "ghfg", 4455, 0.0, 0);
Tzzz tzzz = new Tzzz(2, "", "", "", "",
"gdfg", "fgdfgdf", "", "", "gdfgdg", "gfdf", "fgd1", 36.6, 121, "Joe ", "555-5555", "", "",
true, false, 208.9, new Date(41, 12, 12, 13, 30),
"hhh", "12345678", "2zzzz", "21", "", "", "", "", "", "");
tg.Stops.add(tzzz);
try
{
InputStream is = getAssets().open("DetailActivity.htm");
template = new ReadFile().Read(is);
}
catch (IOException e)
{
Log.d(LOG, " error", e);
}
DecimalFormat f = new DecimalFormat("##.0");
Template tmpl = Mustache.compiler().escapeHTML(false).compile(template);
Map<String, Object> data = new HashMap<String, Object>();
........................
value = tzzz.Value1;
data.put("tv_stopH", value);
value = tzzz.Value2;
data.put("tv_sch", value);
value = tzzz.Value3;
data.put("arri", value);
value = tzzz.Value4;
data.put("tv_add", value);
value = tzzz.Value5;
data.put("cont", value);
value = tzzz.Value6;
data.put("tv_cont", value);
if(tripStop.RefName1.length() > 0)
{
data.put("pic1", True);
value = tzzz.Value7;
data.put("tv_refName1", value);
value = tzzz.Value8;
data.put("tv_ref1", value);
}
if(tripStop.Ref1.length() > 0)
{
data.put("dic", True);
value = tzzz.Value9;
data.put("tv_refName2", value);
value = tzzz.Value10;
data.put("tv_ref2", value);
}
......................
try
{
File file = new File("sdcard/Android/data/com.aplication/files/main.css");
boolean success = file.createNewFile();
BufferedWriter outfile = new BufferedWriter(new FileWriter("sdcard/Android/data/com.aplication/files/main.css"));
outfile.write(Css_file);
outfile.close();
}
catch (IOException e)
{
Log.d(LOG, " error!", e);
}
String temp = tmpl.execute(data);
mWebView = (WebView) this.findViewById(R.id.webView);
// Disable scrollbars
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);
// Scrollbar Overlay Content
mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setAppCacheEnabled(false);
mWebView.addJavascriptInterface(new MyJavaScriptInterface(this), "AndroidFunction");
mWebView.loadDataWithBaseURL(null, temp, "text/html", "utf-8", null);
mWebView.setWebViewClient(new ContosoWebViewClient());
}
HTML код:
<div class="section3">
<span class="section3_label1">{{tv_stopH}}</span><span class="section3_label2"> {{tv_sch}}</span>
</div>
<div class="section3_1">
<div class="section3_1_textblock1">
<span class="label_alt">{{arri}}</span><br />
{{tv_add}}
</div>
<div class="section3_1_textblock2">
<span class="label_alt">{{cont}}</span><br />
{{tv_cont}}
</div>
<div class="section3_1_textblock1">
{{#pic1}}
<span class="label_alt">{{tv_refName1}}:</span> {{tv_ref1}}<br />
{{/pic1}}
{{#dic}}
<span class="label_alt">{{tv_refName2}}:</span> {{tv_ref2}}<br />
{{/dic}}
</div>