你好 我想在fragment 显示和隐藏中显示gridView 该怎么写 详细代码 谢谢

运行效果:
使用说明:
特点:在fragment之间传递数据,类似于startActivityForresult的功能。向右滑动以返回上一个界面自定义切换动画在FragmentMaster中,每一个界面都是MasterFragment的子类,你可以想startActivity 那样start一个Fragment:Request request =newRequest(YourMasterFragment.class);
startFragment(request);Request 类似于intent。在两个MasterFragments之间传递数据:// pass data.
Request request = new Request(YourMasterFragment.class);
request.putExtra(YourMasterFragment.EXTRA_KEY, "Extra data");
startFragment(request);在你的MasterFragment中获取extraDataRequest request = getRequest();
String extraData = request.getStringExtra(YourMasterFragment.EXTRA_KEY);Spinner+GridView 监听
求解。。。。
<a data-traceid="question_detail_above_text_l&&
怎样给Spinner 一个监听& 当选择下拉框类型后& 下面的图片 会显示 对应的& 图片啊?现在显示的是全部的。我定义的&& 数据库& 图片字段名为&& num& 。SD卡图片名跟数据图片名一样。我的Adapter 是自定义的& PictureAdapter&& 。具体怎么写啊。。。?
//前面有List的话,初始化的时候都要先实例化它的
private List&Map&String,Object&&
//Adapter实例化的时候给了listmap,后面就不需要再设置了,
//直接picadapter.notifyDataSetChanged();就可以刷新gridview界面
picadapter = new PictureAdapter(MovieActivity.this,listmap,picname);
//新查询到的数据 要转化成List&Map&String,Object&&数据结构给listmap,
//再picadapter.notifyDataSetChanged();
Movie typeResult = (Movie)movieservice.findMovieByType(type);
listmap.clear();
List&Map&String,Object&& newData = typeResult to List&Map&String,Object&&;
listmap.addAll(newData);
picadapter.notifyDataSetChanged();
--- 共有 3 条评论 ---
你帮我看下我下面贴上去的问题吧。。。谢谢了。。
: 这个当然要你自己写转化过程啊,我只是把意思告诉你。
List&Map&String,Object&& newData = typeResult to List&Map&String,Object&&
编译的时候就报错呢?
--- 共有 5 条评论 ---
: 对不起了,我都没在这里面问过也不知道可以这样,还以为别人写上个名字。
就你这不虚心的态度,知道也不想回答
: 恩?这样也可以?那怎么没出来回答啊?
: 他这是帮你叫专家
什么啊?请不要打酱油好不好?真是。。。
给Spinner设置项选中事件setOnItemSelectedListener,在该事件里面写查询新数据的逻辑代码,查询到结果后通知Gridview刷新:PictureAdapter.notifyDataSetChanged();
--- 共有 1 条评论 ---
你看一下我下面贴上去的代码吧,代码太多 回复时贴补上去。谢谢了。。。
actorSpinner = (Spinner) findViewById(R.id.ActorSpinnerID);
ArrayAdapter&CharSequence& actorAdapter = ArrayAdapter.createFromResource(this,R.array.Actor ,android.R.layout.simple_spinner_item );
actorAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
actorSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView&?& parent, View view,
int position, long id) {
actorSpinner.getItemAtPosition(position);
public void onNothingSelected(AdapterView&?& arg0) {
在这里面写吗?
private class SpinnerListener implements OnClickListener{
public void onClick(View v) {
switch(v.getId()){
case R.id.TypeSpinnerID:
Movie typeResult = (Movie) movieservice.findMovieByType(type);
//picadapter = typeResult.getMovieId();
picadapter.notifyDataSetChanged();
gridView.setAdapter(picadapter);
case R.id.RegionSpinnerID:
Movie regionResult = movieservice.findMovieByRegion(regionName);
gridView.setAdapter(picadapter);
picadapter.notifyDataSetChanged();
case R.id.ActorSpinnerID:
我在这里面写了个 内部类,用wsitch () case 方法
Movie regionResult = movieservice.findMovieByRegion(regionName);
这个得到数据库结果集 的regionResult
怎样放到条件里面啊?
actorSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
&&&&public void onItemSelected(AdapterView&?& parent, View view,
int position, long id) {
spinnerItemSelected(position);
&&&&public void onNothingSelected(AdapterView&?& arg0) {
//自定义方法
private void spinnerItemSelected(int position) {
&&&&switch(position){
case R.id.TypeSpinnerID:
//不知道这句你的意思 Movie typeResult = (Movie) movieservice.findMovieByType(type);
//前面给picadapter设置的数据集List或者HashMap,这里把你现在查询到的数据替换掉
picadapter.notifyDataSetChanged();
//前面给gridView设置Adapter,这里就不用再设置了
case R.id.RegionSpinnerID:
引用来自“迷途d书童”的答案actorSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
&&&&public void onItemSelected(AdapterView&?& parent, View view,
int position, long id) {
spinnerItemSelected(position);
&&&&public void onNothingSelected(AdapterView&?& arg0) {
//自定义方法
private void spinnerItemSelected(int position) {
&&&&switch(position){
case R.id.TypeSpinnerID:
//不知道这句你的意思 Movie typeResult = (Movie) movieservice.findMovieByType(type);
//前面给picadapter设置的数据集List或者HashMap,这里把你现在查询到的数据替换掉
picadapter.notifyDataSetChanged();
//前面给gridView设置Adapter,这里就不用再设置了
case R.id.RegionSpinnerID:
Movie typeResult = (Movie)movieservice.findMovieByType(type);
//是查询数据库的 因为查询数据库 是 public Movie findMovieByType(type){}所以这里非让也写成Movie
的,前面有定义一个private List&Map&String,Object&&
但是 listmap = movieservice.findMovieByType(type)这样查到的放到
picadapter = new PictureAdapter(MovieActivity.this,listmap,picname);中报错。。。
case R.id.ActorSpinnerID:
MovieService msActor = new MovieService(this.getBaseContext());
List&Map&String, Object&& actorResult = msActor.findMovieByActor(actor);
listmap.clear();
listmap.addAll(actorResult);
picadapter.notifyDataSetChanged();
这样只是从数据库中 得到了
一个图片名字的集合,怎么将这个集合转换成
int 类型 可不可以 指点一下啊?
//因为 我还要根据 得到的 num(图片的编号,这个编号也是SD卡图片的名字) 这样读取到SD卡图片 在GridView 中显示。。。谢谢了:
String path = &mnt/pictures/&+num+&.jpg&
//下面这一段是得到
一个类型的 相关图片
List&Map&String, Object&& actorResult = msActor.findMovieByActor(actor);
//其实我只是想 用 String path = &mnt/pictures/&+num+&.jpg&拿到图片
//可是想想 我上面用的:
listmap = FileList.findFile(Environment.getExternalStorageDirectory()
.getAbsolutePath());
//也是得到图片
只是全部得到了。。。两个都是路径
--- 共有 26 条评论 ---
: 哦,好的,我试试
: 那是我拍的正确路径,那个路径组合到一块就是:data/data/包名/picture/1.jpg 路径可以自己随便定的,我路径是组合出来的,你路径是从数据库中 直接提取出来完整的。。。都一样。。
: 你所说的正确的路径是什么样的,就是你前边提到过的data+numint+".jpg"吗?
: 如果获取到了,那只差你在Adapter 里面的了。。看里面路径传递过来没有,然后。。。干脆我把 Adapter 发给你好了
: 数据库只要你能读到数据就可以了,这只是你获得数据的,跟显示 图片没关系,你在你读取Activity 的类里面 打印一下,是不是获取到了正确的路径。。。
case R.id.TypeSpinnerID:
List&Map&String, Object&& typenum = movieservice.findMovieByType(type);
listmap = FileList.findFile(Environment.getExternalStorageDirectory()+
&/Pictures/&+typenum+&.jpg&);
//String path = Environment.getExternalStorageDirectory()+&/Pictures/&+typenum+&.jpg&;
Log.v(&listmap.size===&&, &&+listmap.size());
listmap.clear();
//感觉这里面不能 addAll(typenum) 因为这只是数据库里面的图片编号并没有把SD卡//中对//应的放进来
listmap 不要的话从SD卡读取到的图片还是要封装成集合放到GridView中的
listmap.addAll(typenum);
picadapter.notifyDataSetChanged();
--- 共有 1 条评论 ---
啊啊啊啊。。。谁能帮帮我。。。不然再做不出来我就惨了啊。。。哥哥姐姐们。。。
case R.id.TypeSpinnerID:
movieservice=new MovieService(getApplicationContext());
List&Map&String, Object&& typenum = movieservice.findMovieByRegion(movie.getRegion());
//利用迭代将集合遍历出来
for (Iterator typeiterator = typenum.iterator(); typeiterator.hasNext();) {
Integer map = (Integer) typeiterator.next();
listmap = FileList.findFile(Environment.getExternalStorageDirectory()+&/Pictures/&+map+&.jpg&);
Log.v(&listmap.size===&&, &&+listmap.size());
listmap.clear();
listmap.addAll(typenum);
picadapter.notifyDataSetChanged();
//这样为什么选了下拉框以后都没有反应?下面也是遍历了集合 也没有效果。。。帮我解决一下吧。。。谢谢了。。。急求指导!!!!
case R.id.RegionSpinnerID:
MovieService ms = new MovieService(this.getBaseContext());
List&Map&String, Object&& regionResult= ms.findMovieByRegion(type.getRegion());
for(Map&String, Object& movies : regionResult){
listmap = FileList.findFile(Environment.getExternalStorageDirectory()+&/Pictures/&+movies+&.jpg&);
listmap.clear();
listmap.addAll(regionResult);
picadapter.notifyDataSetChanged();如何在homefragment中设置3x3的那种点击图片,用的gridview布局的_百度知道
如何在homefragment中设置3x3的那种点击图片,用的gridview布局的
我有更好的答案
在fragment上的操作你可以理解为把onCreate的内容放入onCreateView,其他用法和activity基本完全一样。
为您推荐:
其他类似问题
gridview的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。扫一扫体验手机阅读
GridView的使用
<span type="1" blog_id="1282216" userid='
40篇文章,21W+人气,0粉丝
<span type="1" blog_id="1282216" userid='少女程序员的成长记录,以一个初学者的角度,希望能与遇到相同问题的朋友们交流讨论。...
ScrollView与GridView滚动发生冲突
当GridView嵌套在ScrollView里时,发现GridView只显示了一行。这是因为GridView有自己的滚动条,而ScrollView也有自己的滚动条,两者发生了冲突。
解决方法是重写GridView的OnMesure方法,使其不再出现滚动条。
public class MyGridView extends GridView {
public MyGridView(Context context) {
super(context);
public MyGridView(Context context, AttributeSet attrs) {
super(context, attrs);
public MyGridView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE && 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
onMeasure()方法的一些解释:
MeasureSpc类封装了父View传递给子View的布局(layout)要求。
static int makeMeasureSpec(int size,int mode) : 根据提供的大小值和模式,创建一个测量值(格式)
最大模式(MeasureSpec.AT_MOST):这个也就是父组件,能够给出的最大的空间。
然后在布局文件中加入MyGridView就行。
&com.example.administrator.calendartest.MyGridView
android:id="@+id/myGridView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="4"
&/com.example.administrator.calendartest.MyGridView&
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 显示fragment 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信