在fragment里面创建一个popwindow对象无法弹出的问题

一般是个控件,点击之后就弹出 popwindow 但是如果你出现popwindow无法弹出的问题  


那么原因应该是你弹出的位置有问题:


一般是一句代码忘记了:


popCategory.showAsDropDown(v, 0,0);//popwindow 显示的位置  一定要加上,否则不会出现popwindow


这个v代替的是你点击的那个控件视图


当然你也可以设置弹出的位置在其他的地方了


		ll_tip_view.setOnClickListener(new OnClickListener() {			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//头部筛选点击事件,弹出PopUp
				if(popCategory == null){
					//这里如果上面的popWindow创建失败,在这里可以重新创建,已经测试过,就不重新创造了
				}
				popCategory.setFocusable(true);//获取PopWindow焦点
				popCategory.setOutsideTouchable(true);//如果点击外面的区域便关闭
				popCategory.update();
				popCategory.showAsDropDown(v, 0,0);//popwindow 显示的位置  一定要加上,否则不会出现popwindow
				//接下来就是需要去处理选择点击事件了
				popWindowItemOnclick();
			}
		});



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 应用中,建议不要直接在 Fragment 中创建数据库连接对象,而是在 Activity 中创建一个单例的数据库管理类,然后在 Fragment 中调用该类的方法来进行数据库操作。这样可以避免在 Fragment 中频繁地创建和销毁数据库连接对象,提高应用的性能和稳定性。 以下是一个简单的示例代码: 首先,在 Activity 中创建一个单例的数据库管理类,例如: ```java public class DatabaseManager { private static DatabaseManager instance; private SQLiteDatabase database; private MySQLiteOpenHelper dbHelper; private DatabaseManager(Context context) { dbHelper = new MySQLiteOpenHelper(context); database = dbHelper.getWritableDatabase(); } public static synchronized DatabaseManager getInstance(Context context) { if (instance == null) { instance = new DatabaseManager(context); } return instance; } public SQLiteDatabase getDatabase() { return database; } } ``` 然后,在 Fragment 中调用该类的方法来进行数据库操作,例如: ```java public class MyFragment extends Fragment { private SQLiteDatabase database; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); database = DatabaseManager.getInstance(getActivity()).getDatabase(); } // 在这里可以使用 database 对象进行数据库操作 } ``` 这样就可以在 Fragment 中访问在 Activity 中创建的数据库连接对象了。注意,在 Fragment 中调用 `DatabaseManager.getInstance(getActivity())` 方法时,需要传递 Activity 对象作为参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值