android之PopUpWindow显示Listview(文件列表)
16lz
2022-01-27
main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mainLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="确定" /></LinearLayout>
popupwindow.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" ><TextView android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="测试" /> <ListView android:id="@+id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" ></ListView></LinearLayout>
mainActivity
package com.android.demo;import java.io.File;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.os.Environment;import android.view.LayoutInflater;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;import android.widget.PopupWindow;import android.widget.TextView;public class mainActivity extends Activity {private Button myButton;private String[] name; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myButton = (Button)findViewById(R.id.button); myButton.setOnClickListener(new Button.OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubinitPopWindow();}}); } private void initPopWindow(){ View contentView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.popupwindow, null); contentView.setBackgroundColor(Color.BLUE); PopupWindow popupWindow = new PopupWindow(findViewById(R.id.mainLayout), 200, 700); popupWindow.setContentView(contentView); TextView textView = (TextView) contentView.findViewById(R.id.text); textView.setText("测试"); openDir(); ListView listView = (ListView) contentView.findViewById(R.id.list); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, name); listView.setAdapter(adapter); popupWindow.setFocusable(true); popupWindow.showAsDropDown(myButton); } private void openDir() { String rootPath = Environment.getExternalStorageDirectory().getAbsolutePath(); File file = new File(rootPath); File[] files = file.listFiles(); name = new String[files.length]; for(int i=0;i<files.length;i++){ name[i]=files[i].getName(); System.out.println(name[i]); } }}
结果如图
更多相关文章
- Android仿iPhone的日期时间选择器
- Android(安卓)中 JUnit 测试的配置
- Android之Button样式
- android下TTS的传感器切换听筒和扬声器测试
- Android实现登录对话框
- Android(安卓)自动更新代码
- Android(安卓)Stdio实现简单计算器
- android gps开发必备资料(含测试demo下载)
- android 弹出框