gridview 中加载的Button按钮事件 如何将按钮事件,写到另一个ACTICITY 中的 listview 中。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同一个Activity 中布局了一个Gridview 和一个listview.其中Gridview 中布局了一个TextView 和Button 按钮。现在的问题是 我想点击 Button 按钮给listview 中增加一条数据。 那就点击button后给listview的数据源加一条数据然后刷新视图啊 按3楼的报错呀。我是这样理解的:1、从继承BaseAdapter 中已经获取Button事件内容返回给Activity中的变量后,在写到listview中。2、直接在继承BaseAdapter 中获取Button的事件后将内容直接写到listview中以上两种方式不知道理解是否正确,如何实现? 你listview肯定有个list之类的数据集,你Gridview里的button点击的时候,就往list里添加一条数据,然后调用listview的数据源刷新数据,如:adapter.notifyDataSetChanged(); Gridview里的button 使用了另外一个布局文件。也就是Button 和 listview 不在同一个布局文件里。 这是 自定义 xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:descendantFocusability="blocksDescendants" > <ImageView android:id="@+id/image" android:layout_width="180dp" android:layout_height="160dp" android:layout_gravity="fill" android:padding="4dp" android:scaleType="fitXY" /> <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> <LinearLayout android:orientation="vertical" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center_horizontal" android:text="价格" /> <TextView android:id="@+id/prices" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center_horizontal" android:text="名称" /> </LinearLayout> <LinearLayout android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="9" /> <Button android:id="@+id/add" android:layout_width="45dip" android:layout_height="45dip" android:layout_gravity="center" android:gravity="center_horizontal" android:text="+" android:layout_weight="0.2" android:textSize="12pt" /> </LinearLayout></LinearLayout> gridview 中加载自定xml 。现在里面的Button 事件如何实现,(我点击按钮实现增加 选中当前图片序号添加到 listview 列表中。) 你不是继承了BaseAdapter 吗,那就在getView里添加按钮监听事件啊 已经获取到 Button 的事件了,现在就是如何实现在Button 事件如何写数据到listview 中?? getview中获取button事件,如果我在采用数据集填充listview 时,当设置 setcontext(view) 报错,现在就不知道怎么解决了。 public void onClick(View v) { // TODO Auto-generated method stub System.out.println("OK-----OK"); Toast.makeText(con, position+"OK-----OK", Toast.LENGTH_LONG).show(); LayoutInflater layout=LayoutInflater.from(con); View view=layout.inflate(R.layout.main, null); listview=(ListView)view.findViewById(R.id.listview); listview.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,getData())); setContentView(view);//报错 }}); private List<String> getData(){ List<String> data = new ArrayList<String>(); data.add("1"); data.add("2"); data.add("3"); data.add("4"); return data; } 如何将数据加入 listview 中?? 定义一个list,你点击按钮的时候就往list里填加数据,把list里放入数据适配器里(adapter)。当list的数据改变时,调用适配器的更新方法adapter.notifyDataSetChanged() 一般来说,button在item里面是不处理点击事件的,不过你可以adapter中添加监听事件,应该是相应的 需要首先在layout文件里添加一个listview。添加一个button handler。参考代码:[code=Java]<?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" > <Button android:id="@+id/addBtn" android:text="Add New Item" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="addItems"/> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawSelectorOnTop="false" /></LinearLayout>这是在layout中添加一个button,注意,Listview的ID@android:id/list定义了默认ListView的ListActivitypublic class ListViewDemo extends ListActivity { ArrayList<String> listItems=new ArrayList<String>(); ArrayAdapter<String> adapter; int clickCounter=0; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems); setListAdapter(adapter); } public void addItems(View v) { listItems.add("Clicked : "+clickCounter++); adapter.notifyDataSetChanged(); }}[/code]android.R.layout.simple_list_item_1是系统默认的。 看来是我没有说明白我想要的: 在同一个布局文件中有gridview 和 listview ,而gridview中我自己定义一个布局文件里有Imageview和一个Button。当程序运行起来的时候,我已经在getView 事件中获取Button按钮和相应的事件,现在的问题是在Button的事件里 我如何处理将获取的position 值写入到 listview中,目前问题已经困扰我2天了还没有解决,希望高手们帮忙出出注意或解决办法。谢谢。 这个不是很简单么,button点击事件里直接修改或添加listview的数据,listview的adapter刷新 你先在oncreate里把listview及数据适配器初始化好 如何获取listview? 如何添加数据? 1、listvivew 数据添加已经实现了adapter.notifyDataSetChanged();2、现在还有个问题想咨询一下:在Activity 中如何获取到listview 自定义布局中的(布局文件上面有) TextView android:id="@+id/prices" 的text 值赋给 Activity 中的一个字符串变量?? (在Activity 如何获取 自定布局文件中 Textview 的Text值给一个String 变量),我在刷新(adapter.notifyDataSetChanged())View 的时候获取为0,不知道为什么? 这句没理解这句话的意思啊,“在Activity 中如何获取到listview 自定义布局中的(布局文件上面有) TextView android:id="@+id/prices" 的text 值赋给 Activity 中的一个字符串变量”你是在listview每行中显示一个price吗?这样的话应该用自定义的custom list adapter (arrayadapter)类。能获取每行的数值,在getView()方法中,既可以操作每行的数据也可以获取每行的数据。 现在想在listview 里实现如果有重复的数据 改如何判断?如何处理? Android中使用XMLEncoder进行序列化的问题 java 编辑文本区提示错误.....求大神 android:launchMode="singleTask"的问题 学习android应用开发应该从何学起?? 模拟器错误大家给个主意 android移动开发 键盘显示与隐藏 新手求助:关于Activity间跳转的小问题 安卓开发语音对讲机,一点击说话按钮就闪退!! android listView item 布局 背景音乐问题 android如何在绘制楼盘表 android下文字输出格式,类似LOGFONT
我是这样理解的:
1、从继承BaseAdapter 中已经获取Button事件内容返回给Activity中的变量后,在写到listview中。
2、直接在继承BaseAdapter 中获取Button的事件后将内容直接写到listview中以上两种方式不知道理解是否正确,如何实现?
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:descendantFocusability="blocksDescendants"
> <ImageView
android:id="@+id/image"
android:layout_width="180dp"
android:layout_height="160dp"
android:layout_gravity="fill"
android:padding="4dp"
android:scaleType="fitXY" />
<LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content">
<LinearLayout android:orientation="vertical" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:text="价格"
/>
<TextView
android:id="@+id/prices"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:text="名称"
/>
</LinearLayout>
<LinearLayout android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="9" />
<Button
android:id="@+id/add"
android:layout_width="45dip"
android:layout_height="45dip"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:text="+"
android:layout_weight="0.2"
android:textSize="12pt"
/>
</LinearLayout>
</LinearLayout>
gridview 中加载自定xml 。现在里面的Button 事件如何实现,(我点击按钮实现增加 选中当前图片序号添加到 listview 列表中。)
// TODO Auto-generated method stub
System.out.println("OK-----OK");
Toast.makeText(con, position+"OK-----OK", Toast.LENGTH_LONG).show();
LayoutInflater layout=LayoutInflater.from(con);
View view=layout.inflate(R.layout.main, null);
listview=(ListView)view.findViewById(R.id.listview);
listview.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,getData()));
setContentView(view);//报错
}}); private List<String> getData(){
List<String> data = new ArrayList<String>();
data.add("1");
data.add("2");
data.add("3");
data.add("4");
return data;
}
当list的数据改变时,调用适配器的更新方法
adapter.notifyDataSetChanged()
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/addBtn"
android:text="Add New Item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="addItems"/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
/>
</LinearLayout>
这是在layout中添加一个button,注意,Listview的ID@android:id/list定义了默认ListView的ListActivitypublic class ListViewDemo extends ListActivity {
ArrayList<String> listItems=new ArrayList<String>();
ArrayAdapter<String> adapter;
int clickCounter=0; @Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
adapter=new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
listItems);
setListAdapter(adapter);
}
public void addItems(View v) {
listItems.add("Clicked : "+clickCounter++);
adapter.notifyDataSetChanged();
}
}[/code]android.R.layout.simple_list_item_1是系统默认的。
在同一个布局文件中有gridview 和 listview ,而gridview中我自己定义一个布局文件里有Imageview和一个Button。当程序运行起来的时候,我已经在getView 事件中获取Button按钮和相应的事件,现在的问题是在Button的事件里 我如何处理将获取的position 值写入到 listview中,目前问题已经困扰我2天了还没有解决,希望高手们帮忙出出注意或解决办法。谢谢。
2、现在还有个问题想咨询一下:在Activity 中如何获取到listview 自定义布局中的(布局文件上面有) TextView android:id="@+id/prices" 的text 值赋给 Activity 中的一个字符串变量??
(在Activity 如何获取 自定布局文件中 Textview 的Text值给一个String 变量),我在刷新(adapter.notifyDataSetChanged())View 的时候获取为0,不知道为什么?