1====main.xml.

Define a Show_button

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button android:id="@+id/show_button"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:text="Show"
/>
</LinearLayout>

2====popupwindow.xml

Define the Content to Popup Window

<?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:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="NIhao,woahiaffaafaf!!@@@##"
android:textSize="20sp"
android:textColor="#FF0000"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="30dp"
android:id="@+id/name_edit"
/>
<Button
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_gravity="center_horizontal"
android:text="Enter Name"
android:id="@+id/name_button"
/>
<Button
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_gravity="center_horizontal"
android:text="Cancel"
android:id="@+id/cancel_button"
/>
</LinearLayout>

3====MainActivity.java

package com.android.tian;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.PopupWindow;

public class MainActivity extends Activity {
/** Called when the activity is first created. */
Button mShowBtn;
Button mNameBtn;
Button mCancelBtn;
EditText mNameEdit;
View vPopupWindowView;
LayoutInflater inflater;
PopupWindow mPopupWindow;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取控件
mShowBtn = (Button)findViewById(R.id.show_button);
mNameBtn = (Button)findViewById(R.id.name_button);

//响应按钮事件
mShowBtn.setOnClickListener(new ClickEvent());
//??!!mCancelBtn.setOnClickListener(new ClickEvent());
}

public void showPopWindow(Context context,View parent){
inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mCancelBtn = (Button)findViewById(R.id.cancel_button);
mNameEdit=(EditText)findViewById(R.id.name_edit);
//!!mNameBtn.setOnClickListener(new ClickEvent());
mCancelBtn.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mPopupWindow.dismiss();
}
});
vPopupWindowView = inflater.inflate(R.layout.popupwindow,null,false);
mPopupWindow = new PopupWindow(vPopupWindowView,300,300,true);
//mPopupWindow.showAtLocation(parent,Gravity.LEFT,0,0);
mPopupWindow.showAsDropDown(parent);
}
//统一处理的按钮事件类
class ClickEvent implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if((Button)v==mShowBtn){
showPopWindow(MainActivity.this,MainActivity.this.findViewById(R.id.show_button));
}else if((Button)v==mNameBtn){
mNameEdit = (EditText)MainActivity.this.findViewById(R.id.name_edit);
mNameEdit.setText("What");
}else if((Button)v==mCancelBtn){
mPopupWindow.dismiss();
}
}
}
}

Problems:

为什么出错!!!!

好像是mCancleBtn的响应事件的错误???可我不知道为什么,高手指教!

更多相关文章

  1. android radiobutton选中字体颜色改变的方法
  2. 【Android】控件和基本事件响应的三种方式
  3. android中数据存储的contentprovider的使用方法
  4. Android(安卓)向菜单按钮说再见
  5. android实现双击事件的监听
  6. Android简易计算器——LinearLayout布局
  7. Android电子拍卖系统总结四
  8. Android流式播放MP3
  9. Android关于OnTouch 和OnClick同时调用冲突的解决方案

随机推荐

  1. android软键盘把页面挤上去的解决方法
  2. Android中xml解析
  3. 【Android 应用开发】GitHub 优秀的 Andr
  4. [android]android命令行截图
  5. Android应用程序的权限列表
  6. Android在应用中固定屏幕方向
  7. android ExpandableListView简单例子
  8. OpenGL ES for Android 绘制线
  9. 修改ZXing for Android为竖屏模式
  10. [android警告] AndroidManifest.xml警告