- 66
- 0
如题:android像天气app的选择城市,选择一个城市就创建一个页面,可以创建多个页面,来回滑动,怎么实现的
- 共 0 条
- 全部回答
-
←═╬∞星星点点 普通会员 1楼
要实现这个功能,你需要一个列表来存储每个城市的信息。你可以使用 Android 的 SQLite 数据库来存储这些信息。首先,你需要创建一个 SQLite 数据库,并在其中创建一个表来存储每个城市的名称和天气信息。
以下是一个简单的示例代码:
```java // 创建数据库 ContentValues values = new ContentValues(); values.put(MyWeatherContract.MyWeatherItem._id, 0); values.put(MyWeatherContract.MyWeatherItem.name, "北京"); values.put(MyWeatherContract.MyWeatherItem.weather, "晴");
// 插入数据 ContentValues insertValues = new ContentValues(); insertValues.put(MyWeatherContract.MyWeatherItem.name, "上海"); insertValues.put(MyWeatherContract.MyWeatherItem.weather, "多云"); insertValues.put(MyWeatherContract.MyWeatherItem.location, "中国上海");
try (ContentProvider provider =ContentProvider.open(this, "MyContract", null)) { provider.insert(MyWeatherContract.MyWeatherItem._id, insertValues); } ```
接下来,你需要创建一个滑动列表来显示每个城市的天气信息。以下是一个简单的示例代码:
```java // 创建滑动列表 List
items = new ArrayList<>(); items.add(new MyWeatherContract.MyWeatherItem(name="北京", weather="晴")); items.add(new MyWeatherContract.MyWeatherItem(name="上海", weather="多云")); items.add(new MyWeatherContract.MyWeatherItem(name="广州", weather="多云")); // 创建一个布局文件 LinearLayout linearLayout = findViewById(R.id.linear_layout); LinearLayout itemLayout = findViewById(R.id.item_layout);
// 添加滑动列表 for (MyWeatherContract.MyWeatherItem item : items) { itemLayout.addView(item); }
// 设置滑动列表的监听器 itemLayout.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: return true; case MotionEvent.ACTION_UP: break; } return false; } }); ```
最后,你需要在你的主 Activity 中创建一个滑动列表,并显示每个城市的天气信息。以下是一个简单的示例代码:
```java // 创建主 Activity public class MainActivity extends AppCompatActivity {
// 获取滑动列表 private LinearLayout linearLayout; private List<MyWeatherContract.MyWeatherItem> items = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化滑动列表 linearLayout = findViewById(R.id.linear_layout); for (MyWeatherContract.MyWeatherItem item : items) { itemLayout.addView(item); } // 获取滑动列表的监听器 linearLayout.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: return true; case MotionEvent.ACTION_UP: break; } return false; } }); } // 更新滑动列表 @Override protected void onResume() { super.onResume(); refreshWeatherData(); } // 更新滑动列表 private void refreshWeatherData() { // 在这里更新滑动列表 for (MyWeatherContract.MyWeatherItem item : items) { item.name = "更新后的城市名称"; item.weather = "更新后的天气信息"; } }} ```
以上代码只是一个基本的示例,你需要根据你的具体需求来修改和扩展它。例如,你可能需要添加更多的滑动列表页面,或者添加更多的功能来显示天气信息。
-
時間蒼白誓言 普通会员 2楼
要实现这个功能,你需要一个列表来存储每个城市的信息。你可以使用 Android 的 SQLite 数据库来存储这些信息。首先,你需要创建一个 SQLite 数据库,并在其中创建一个表来存储每个城市的名称和天气信息。
以下是一个简单的示例代码:
```java // 创建数据库 ContentValues values = new ContentValues(); values.put(MyWeatherContract.MyWeatherItem._id, 0); values.put(MyWeatherContract.MyWeatherItem.name, "北京"); values.put(MyWeatherContract.MyWeatherItem.weather, "晴");
// 插入数据 ContentValues insertValues = new ContentValues(); insertValues.put(MyWeatherContract.MyWeatherItem.name, "上海"); insertValues.put(MyWeatherContract.MyWeatherItem.weather, "多云"); insertValues.put(MyWeatherContract.MyWeatherItem.location, "中国上海");
try (ContentProvider provider =ContentProvider.open(this, "MyContract", null)) { provider.insert(MyWeatherContract.MyWeatherItem._id, insertValues); } ```
接下来,你需要创建一个滑动列表来显示每个城市的天气信息。以下是一个简单的示例代码:
```java // 创建滑动列表 List
items = new ArrayList<>(); items.add(new MyWeatherContract.MyWeatherItem(name="北京", weather="晴")); items.add(new MyWeatherContract.MyWeatherItem(name="上海", weather="多云")); items.add(new MyWeatherContract.MyWeatherItem(name="广州", weather="多云")); // 创建一个布局文件 LinearLayout linearLayout = findViewById(R.id.linear_layout); LinearLayout itemLayout = findViewById(R.id.item_layout);
// 添加滑动列表 for (MyWeatherContract.MyWeatherItem item : items) { itemLayout.addView(item); }
// 设置滑动列表的监听器 itemLayout.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: return true; case MotionEvent.ACTION_UP: break; } return false; } }); ```
最后,你需要在你的主 Activity 中创建一个滑动列表,并显示每个城市的天气信息。以下是一个简单的示例代码:
```java // 创建主 Activity public class MainActivity extends AppCompatActivity {
// 获取滑动列表 private LinearLayout linearLayout; private List<MyWeatherContract.MyWeatherItem> items = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化滑动列表 linearLayout = findViewById(R.id.linear_layout); for (MyWeatherContract.MyWeatherItem item : items) { itemLayout.addView(item); } // 获取滑动列表的监听器 linearLayout.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: return true; case MotionEvent.ACTION_UP: break; } return false; } }); } // 更新滑动列表 @Override protected void onResume() { super.onResume(); refreshWeatherData(); } // 更新滑动列表 private void refreshWeatherData() { // 在这里更新滑动列表 for (MyWeatherContract.MyWeatherItem item : items) { item.name = "更新后的城市名称"; item.weather = "更新后的天气信息"; } }} ```
以上代码只是一个基本的示例,你需要根据你的具体需求来修改和扩展它。例如,你可能需要添加更多的滑动列表页面,或者添加更多的功能来显示天气信息。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

