我想弄一个下拉列表,我想做一个下拉菜单显示在控件下方,并且和控件同宽。并且点击下拉菜单上的每行文字分别连接到不同的activity内。
不知哪位大哥大姐能帮帮我,有源代码最好。
不知哪位大哥大姐能帮帮我,有源代码最好。
解决方案 »
- Android 如何用代码安装assets文件夹下的apk
- 大一学生想开发一个软件
- android中数据库的操作
- 我发现ACTIVITY、SERVICE或者THREAD之间交换数据用单例模式类也挺方便的
- 初学者请教个问题
- 关于android map显示制定位置的问题
- android 网络播放器 切换url 黑屏问题
- 怎样把手机上现有的系统打包成IMG固件
- 各位大佬,我eclipse安卓模拟器开了,但是还提示The connection to adb is down,a severe error
- 安卓开发数据库数据统计怎么实现?
- HTC的G8刷机驱动的问题,求解!!!!!!!!!!!!!!!!!!!!!!
- 求android高手帮助
然后监听到点击就处理Activity.startActivity(Intent intent);
不知道这样能不能满足楼主要求
package com.mas;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;import com.mas.R;public class popupTest extends Activity {
ImageButton btnPopupWindow;
public PopupWindow pop;
ListView listView,listView1;
LayoutInflater inflater;
SimpleAdapter adapter;
EditText et;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et = (EditText)findViewById(R.id.et);
btnPopupWindow = (ImageButton)findViewById(R.id.imgbutton1);
btnPopupWindow.setOnClickListener(new ClickEvent());
}
//统一处理按键事件
public class ClickEvent implements OnClickListener{
@Override
public void onClick(View v){
// TODO Auto-generated method stub
doSth(v);
}
public void doSth(View v){
if(v==btnPopupWindow)
{
LayoutInflater inflater = (LayoutInflater)
popupTest.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
listView = (ListView) inflater.inflate(R.layout.listview, null);
if(pop == null){
adapter = new SimpleAdapter(popupTest.this, getData(), R.layout.item,
new String[]{"img","info"}, new int[]{R.id.img,R.id.info});
listView.setFocusable(true);
listView.setItemsCanFocus(true);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
if(arg2==0){
Intent mIntent = new Intent();
mIntent.setClass(popupTest.this, tt.class);
startActivity(mIntent);
}
else if(arg2==1)
{
finish();
}
pop.dismiss();
pop = null;
}
});
pop = new PopupWindow(listView,150,LayoutParams.WRAP_CONTENT);
pop.setBackgroundDrawable(getResources().getDrawable(R.layout.rounded_corners_pop));
pop.setTouchable(true);
pop.setFocusable(true);
pop.showAsDropDown(btnPopupWindow,1,15);
}else{
pop.dismiss();
pop = null;
}
}
}
public List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("img", R.drawable.header);
map.put("info", "切换用户");
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.delete);
map.put("info", "退出程序");
list.add(map);
return list;
}
}
}