Activity-fragment-ListView展示
在上一篇博客,Android-fragment简介-fragment的简单使用,介绍了简单的使用;
这篇博客主要讲解,在fragment做处理事情(Activity的事情)
Activity
package liudeli.activity.fragment; import android.app.Activity;
import android.os.Bundle; import liudeli.activity.R; public class MyTestFragmentActivity2 extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_fragment2);
}
}
Activity 的 布局 activity_test_fragment2
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <!--
android:id="@+id/fragment" 必须要指定好ID,否则运行会报错
class="liudeli.activity.fragment.MyFragment" 必须要指定class,否则无效果
-->
<fragment
android:id="@+id/fragment"
class="liudeli.activity.fragment.MyFragment2"
android:layout_width="match_parent"
android:layout_height="wrap_content" /> </LinearLayout>
Activity 的 布局 <fragment class 引用的 MyFragment2
package liudeli.activity.fragment; import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast; import liudeli.activity.R; public class MyFragment2 extends Fragment { /**
* 创建View
* @param inflater 布局加载器
* @param container
* @param savedInstanceState 临时保存数据用的Bundle 和 Activity-onCreate方法一样
* @return
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState); // 使用布局加载器加载
View view = inflater.inflate(R.layout.fragment_layout, null);
return view;
} private ListView listView; /**
* 此方法代表View创建已经完成✅
* @param view 上面方法创建View成功后返回过来的View
* @param savedInstanceState 临时保存数据用的Bundle 和 Activity-onCreate方法一样
*/
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); listView = view.findViewById(R.id.listview); String[] strings = new String[]{"测试数据一", "测试数据二", "测试数据三"}; // 初始化适配器数据
final ListAdapter listAdapter = new ArrayAdapter(getActivity(), // 在Fragment不能使用this
android.R.layout.simple_list_item_1,
android.R.id.text1,
strings);
listView.setAdapter(listAdapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String itmeValue = (String) listAdapter.getItem(position);
Toast.makeText(getActivity(), itmeValue, Toast.LENGTH_SHORT).show();
} }); listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getActivity(), "长按Item条目", Toast.LENGTH_SHORT).show();
return true;
}
}); }
}
MyFragment2 的 布局文件 fragment_layout
此属性可以解决,ListView Item 长按无效的问题:android:descendantFocusability="blocksDescendants"
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"> <ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
/> </LinearLayout>
效果:

Activity-fragment-ListView展示的更多相关文章
- activity+fragment+listview+adapter+bean在同一个类中的套路
1.xml activity_main.xml <?xml version="1.0" encoding="utf-8"?><FrameLay ...
- 解决viewpager+多个fragment+listview,listview展示内容高度不自适应出现多余空白问题
一.重写viewpager import android.content.Context; import android.support.v4.view.ViewPager; import andro ...
- Xamarin.Android 调用Web Api(通过ListView展示远程获取的数据)
xamarin.android如何调用sqlserver 数据库呢(或者其他的),很多新手都会有这个疑问.xamarin.android调用远程数据主要有两种方式: 在Android中保存数据或调用数 ...
- android listview展示图片
最近学习android开发,感触颇多,和网站开发对比,还是有很大的差距,在这里记录一下. android listview展示图片 在网站开发上,展示图片非常简单,一个HTML img标签就搞定,加上 ...
- Android:Activity+Fragment及它们之间的数据交换.
Android:Activity+Fragment及它们之间的数据交换 关于Fragment与Fragment.Activity通信的四种方式 比较好一点的Activity+Fragment及它们之间 ...
- Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
Android中的状态保存和恢复 Android中的状态保存和恢复, 包括Activity和Fragment以及其中View的状态处理. Activity的状态除了其中的View和Fragment的状 ...
- [转]Android:Activity+Fragment及它们之间的数据交换(一)
2014-05-18 来源:Android:Activity+Fragment及它们之间的数据交换(一) 简介: 为什么要用Fragment?使用Fragment可以在一个Acti ...
- 在Activity/Fragment以外使用Toast【转】
在 Activity 使用 Toast 这种是最基本的使用,Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的实例为Activity. public ...
- Fragment 回退栈 传递参数,点击切换图片使用Fragment ListView
Fragment回退栈 类似与Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fragment事务发生的变化. 如果你将Fragment任务 ...
- Android中Listview展示及其优化好处
展示效果: 中间的item条目是可以上下滑动的. 代码实现: @Override public View getView(int position, View convertView, ViewGro ...
随机推荐
- Conductor Server
安装 要求 数据库:Dynomite https://github.com/Netflix/dynomite 索引后端: Elasticsearch 2.x http ...
- mogodb查询
Find: {$and: [ {"MethodName":"CommLogin"} ,{"CreateTime":{$gte:"2 ...
- rubber
rubber - 必应词典 美['rʌbər]英['rʌbə(r)] n.橡胶:橡皮:黑板擦 v.涂橡胶于…:〈美俚〉同“rubberneck” 网络橡皮擦:胶皮:橡皮轮胎 变形复数:rubbers:
- fiddler抓web请求
原理 fiddler抓包原理 fiddler 调试器注册到操作系统因特网服务中,系统所有的网络请求都会走fiddler的代理,所以fiddler才能抓包. Debug traffic from any ...
- stuff函数(转)
在上篇博文中提到了stuff函数 在这篇博文中对stuff函数进行了详解 本片博文系转载,但对原文顺序做了下调整 示例 以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三 ...
- 9-n个人中选k个人的选择方法种类
用递归法计算从n个人中选择k个人组成一个委员会的不同组合数分析: 1.如果k>n,结果为0 2.k=n时,只有1组 3.k<n的时候,可以把解空间分为两部分:假设其中一个人叫X,那么选X的 ...
- 创建cookie
cookie的创建using System;using System.Collections.Generic;using System.Linq;using System.Web;using Syst ...
- httpclient之基本类
HttpHost类 主机类 主要属性有域名和端口. HttpRoute类 路由类 主要属性有targetHost(目标主要).proxyChain[]代理链 RouteTracker类 和H ...
- static 和 final
static是静态修饰关键字,可以修饰变量和程序块以及类方法:当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存:修饰一个程序块的 ...
- setTimeout setInterval 详解
http://www.jb51.net/article/74606.htm var tttt=setTimeout('northsnow()',1000);//执行一次 clearTimeou ...