Android: books

<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="16dp"> <!-- Spinner --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="选择城市:" /> <Spinner android:id="@+id/spinner_city" android:layout_width="match_parent" android:layout_height="wrap_content" android:spinnerMode="dropdown" /> <!-- AutoCompleteTextView --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="输入城市名:" /> <AutoCompleteTextView android:id="@+id/autoCompleteTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入城市" android:completionThreshold="1" /> <!-- ListView --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="新闻列表:" /> <ListView android:id="@+id/listView_news" android:layout_width="match_parent" android:layout_height="200dp" /> <!-- SimpleAdapter List --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="书籍信息列表:" /> <ListView android:id="@+id/listView_books" android:layout_width="match_parent" android:layout_height="300dp" /> </LinearLayout> </ScrollView> package com.example.mobilelab; import android.os.Bundle; import android.widget.*; import androidx.appcompat.app.AppCompatActivity; import java.util.ArrayList; import java.util.HashMap; public class MainActivity extends AppCompatActivity { private String[] cities = {"长沙市", "株洲市", "湘潭市", "衡阳市", "邵阳市", "岳阳市", "常德市", "张家界市", "益阳市", "郴州市", "永州市", "怀化市", "娄底市", "湘西州"}; private String[] newsList = {"长沙举办科技展", "株洲高铁提速", "湘潭文旅融合新发展", "郴州发现新矿藏"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setupSpinner(); setupAutoCompleteTextView(); setupNewsListView(); setupBookListView(); } // 1. Spinner 设置 private void setupSpinner() { Spinner spinner = findViewById(R.id.spinner_city); ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, cities); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(MainActivity.this, "你选择了:" + cities[position], Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> parent) {} }); } // 2. AutoCompleteTextView 设置 private void setupAutoCompleteTextView() { AutoCompleteTextView autoText = findViewById(R.id.autoCompleteTextView); ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, cities); autoText.setAdapter(adapter); autoText.setThreshold(1); // 输入1个字符就开始提示 autoText.setOnItemClickListener((parent, view, position, id) -> { String selected = (String) parent.getItemAtPosition(position); Toast.makeText(this, "你选择了:" + selected, Toast.LENGTH_SHORT).show(); }); } // 3. 新闻 ListView private void setupNewsListView() { ListView listView = findViewById(R.id.listView_news); ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, newsList); listView.setAdapter(adapter); listView.setOnItemClickListener((parent, view, position, id) -> { Toast.makeText(this, "新闻:" + newsList[position], Toast.LENGTH_SHORT).show(); }); } // 4. SimpleAdapter 实现图文混合列表 private void setupBookListView() { ListView listView = findViewById(R.id.listView_books); ArrayList<HashMap<String, Object>> data = new ArrayList<>(); for (int i = 0; i < 5; i++) { HashMap<String, Object> map = new HashMap<>(); map.put("title", "《编程艺术 " + (i+1) + "》"); map.put("author", "作者_" + (i+1)); map.put("intro", "这是一本关于Android开发的优秀书籍,涵盖适配器、UI设计等内容。"); map.put("image", R.drawable.book_cover_placeholder); // 占位图 data.add(map); } SimpleAdapter adapter = new SimpleAdapter( this, data, R.layout.item_book, new String[]{"title", "author", "intro", "image"}, new int[]{R.id.tv_title, R.id.tv_author, R.id.tv_intro, R.id.iv_cover} ); listView.setAdapter(adapter); } } ID 名称与 Java 代码中一致吗?
10-21
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值