/* * MIT License * * Copyright (c) 2018 Alibaba Group * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ package com.tmall.wireless.virtualviewdemo; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.ListActivity; import android.content.ComponentName; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.View; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.Toast; import com.tmall.wireless.virtualviewdemo.vs.VSEngine; /** * Created by longerian on 2017/8/31. * * @author longerian * @date 2017/08/31 */ public class ScriptListActivity extends ListActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(android.R.layout.list_content); List<Map<String, String>> list = new ArrayList<Map<String, String>>(); HashMap<String, String> ntext = new HashMap<String, String>(); ntext.put("name", "this.name = (data.time > data.id) && (data.time >= 3)"); list.add(ntext); HashMap<String, String> page = new HashMap<String, String>(); page.put("name", "PageScrollScript"); page.put("class", ComponentActivity.class.getName()); page.put("data", "component_demo/page_item.json"); list.add(page); HashMap<String, String> click = new HashMap<String, String>(); click.put("name", "ClickScript"); click.put("class", ComponentActivity.class.getName()); list.add(click); ListAdapter listAdapter = new SimpleAdapter(this, list, android.R.layout.simple_list_item_1, new String[]{"name"}, new int[]{android.R.id.text1}); setListAdapter(listAdapter); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { Map<String, String> item = (Map<String, String>)l.getItemAtPosition(position); String className = item.get("class"); if (className != null) { Intent intent = new Intent(); intent.setComponent(new ComponentName(this, className)); intent.putExtra("name", item.get("name")); intent.putExtra("data", item.get("data")); startActivity(intent); } else { String result = VSEngine.test(); Toast.makeText(getApplicationContext(), "executing result: " + result, Toast.LENGTH_LONG).show(); } } }