通过一个activity打开多个fragment,每个fragment包含一个List

本文展示如何在Android应用中通过一个Activity来切换不同的Fragment,每个Fragment内部包含一个ListView。所有ListView都使用相同的XML布局文件,并且详细说明了如何将ListView加载到指定的布局区域,如id为'menu'的视图。示例中涉及到的Fragment分别为fragmentA和fragmentP。
摘要由CSDN通过智能技术生成

本人新手,第一次写博客,学习android十几天,这几天碰到了fragment的问题。

这个小例子,通过点击不同按钮,加载不同的fragment,fragment的listView公用一个xml文件。


   
   

    
    
    

        
     
     

        
     
     

        
     
     

        
     
     

        
     
     

        
     
     
    
    
    

    
    
    
    
    
    


   
   

将来的listView将会加载到id为menu的布局里边


  
  
    
   
   
    
   
   


  
  

两个fragment分别为fragmentA和fragmentP

public class fragmentA extends Fragment{
	private static final List
   
   
    
     airport =Arrays.asList(new String[]{"李四", "王五",
		"赵六", "孙七", "
### 回答1: 如果你已经在一个Activity成功连接了MySQL数据库,那么你可以将数据库连接的实例(比如一个 `Connection` 对象)保存在一个全局变量里面,这样其他的 Fragment 就可以共享这个数据库连接了。 在其他的 Fragment 中,你可以通过以下步骤获取数据: 1. 首先,你需要获取到保存数据库连接的全局变量,比如说在你的 Application 类里面定义了一个 `Connection` 对象: ```java public class MyApplication extends Application { private Connection mConnection; public Connection getConnection() { return mConnection; } public void setConnection(Connection connection) { mConnection = connection; } } ``` 然后在你的 Activity 中,你可以这样保存数据库连接: ```java Connection connection = // 连接数据库的代码 ((MyApplication) getApplication()).setConnection(connection); ``` 2. 在其他的 Fragment 中,你可以这样获取保存的数据库连接: ```java Connection connection = ((MyApplication) getActivity().getApplication()).getConnection(); ``` 注意:这里的 `getActivity()` 方法返回的是 Fragment 所在的 Activity,因此需要确保这个 Activity 已经成功连接了数据库。 3. 接下来,你可以使用这个数据库连接执行 SQL 查询语句,并将结果显示在 Fragment 中。 ```java Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM my_table"); // 处理查询结果 ``` 注意:在使用完 ResultSet 后需要及时关闭它,以避免资源泄漏。 ### 回答2: 在Android中,如果在一个Activity中成功连接到MySQL数据库,并且想要在其他Fragment中获取其他数据,可以通过以下步骤实现: 1. 在连接数据库的Activity中,创建一个公共的方法或者类,用于获取数据库数据。 2. 在其他Fragment中,首先要确保已经实例化了对应的Activity。可以通过在Fragment的onCreateView()方法中获取Activity的实例,如: ``` MyActivity activity = (MyActivity) getActivity(); ``` 3. 通过实例化的Activity对象调用第一步中创建的公共方法或类,来获取数据库中的数据,例如: ``` List<Data> dataList = activity.getDatabaseData(); ``` 4. 数据获取成功后,就可以在Fragment中对数据进行操作和展示。 需要注意的是,如果在Activity中连接数据库的操作十分耗时,建议在单独的线程中进行。可以使用AsyncTask或者后台线程来进行连接数据库的操作,然后使用回调函数将获取的数据传递给Fragment。这样可以避免在主线程中进行耗时操作,从而提高应用的性能和响应速度。 ### 回答3: 在Android中,可以使用以下方法在其他Fragment中获取已经连接的MySQL数据库中的数据: 1. 在已经成功连接数据库的Activity中创建一个公共方法或接口,用于获取数据库中的数据。这个方法可以根据需要进行参数的传递。 2. 在其他Fragment中,可以通过以下步骤来获取数据: a. 首先,在Fragment中获取对已连接的Activity的引用。可以通过 getActivity() 方法来获取对当前Fragment所依附的Activity的引用。 b. 将获取的Activity引用强制转换为数据库连接的Activity类型,以便可以调用该Activity中的公共方法或接口。 c. 使用转换后的Activity引用调用公共方法或接口,获取数据库中的数据。 3. 在Activity中,通过数据库查询获取所需的数据,然后返回给调用者。可以使用异步任务(AsyncTask)或线程(Thread)来执行数据库查询操作,以避免在主线程中进行耗时的数据库操作。 需要注意的是,为了确保数据库连接的稳定和安全,建议在建立数据库连接以及进行数据库操作时进行一定的异常处理和安全措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值