打个比方:
1.aActivity里有各种商品列表,商品列表是从服务器中获取,用到Adapter,同时模拟一个商品列表(有图有文字,不显得很空白没内容,相当于Demo,图片在Drawable中获取)也用到Adapter,问题是可否使用同一个Adapter,兼顾2.bActivity也是一个照片列表,也是从服务器中获取,内容和上面差不多,实现的功能也是一样,
3.重点是这里:aActivity和bActivity可否使用一个公共的Adapter!实现两个Activity两样不同的需求!求高手指点!androidColor
1.aActivity里有各种商品列表,商品列表是从服务器中获取,用到Adapter,同时模拟一个商品列表(有图有文字,不显得很空白没内容,相当于Demo,图片在Drawable中获取)也用到Adapter,问题是可否使用同一个Adapter,兼顾2.bActivity也是一个照片列表,也是从服务器中获取,内容和上面差不多,实现的功能也是一样,
3.重点是这里:aActivity和bActivity可否使用一个公共的Adapter!实现两个Activity两样不同的需求!求高手指点!androidColor
解决方案 »
- 请教高手们一个难题!!!!!!!!!
- 开发失物招领平台
- android 中,客户端信息(手机中信息)如何导入服务器端数据库??
- ANDroid游戏中小球不会移动,求指点啊!
- Activity问题
- 声波通信原理商用改进版本和源代码
- android 移动QQ 消息里面的菜单怎么做啊
- 求大大们推荐安卓API在线查阅的网站!
- 我想让Andrioid输出HelloWorld但却无法显示
- android app里怎么播放swf文件
- android4.0使用panoramagl开发出现signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)错误
- android大牛高焕堂最新力作-android架构师之路
那同一个adapter可以做Demo,联网时又可以作绑定么!
那同一个adapter可以做Demo,联网时又可以作绑定么!
按你的说法 是可以共用的 因为 你是2个activity 所以数据刷新不会影响
那同一个adapter可以做Demo,联网时又可以作绑定么!
按你的说法 是可以共用的 因为 你是2个activity 所以数据刷新不会影响
就是说一个Activity用一个adapter
那同一个adapter可以做Demo,联网时又可以作绑定么!
按你的说法 是可以共用的 因为 你是2个activity 所以数据刷新不会影响
就是说一个Activity用一个adapter每次用的时候,不是都得new Adapter,其实就是两个不同数据的adapter
A,B可以共用一个MyAdapter类,但是应该是两个实例,new MyAdapter时应该将Context,与数据源传进去。
大多数人都是将Adapter独立为一个类的
因为考虑到两个Activity都使用到下拉刷新(三个Adapter了),这样就更复杂了,恳请大牛指点
public class MyListAdapter extends BaseAdapter{
private Activity activity;
private int[] type;
private AllWidget allWidget;
private LayoutInflater mInflater;
public MyListAdapter(Activity activity,int[] type){
this.activity = activity;
this.type = type;
}
@Override
public int getCount() {
return type.length;
} @Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
} @Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if(convertView == null){
LayoutInflater mInflater = activity.getLayoutInflater();
convertView = mInflater.inflate(R.layout.allwidget, null);
allWidget = new AllWidget(convertView);
convertView.setTag(allWidget);
}else{
allWidget = (AllWidget) convertView.getTag();
}
//这里判断要显示什么控件
switch(type[position]){
case 0:
allWidget.getItem_text().setVisibility(View.VISIBLE);
break;
case 1:
allWidget.getItem_icon().setVisibility(View.VISIBLE);
break;
case 2:
allWidget.getItem_but().setVisibility(View.VISIBLE);
break;
}
return convertView;
} public class AllWidget{
private TextView item_text;
private ImageView item_icon;
private Button item_but;
private View baseview;
public AllWidget(View view){
this.baseview = view;
}
public TextView getItem_text() {
item_text = (TextView)baseview.findViewById(R.id.text);
return item_text;
}
public void setItem_text(TextView item_text) {
this.item_text = item_text;
}
public ImageView getItem_icon() {
item_icon = (ImageView)baseview.findViewById(R.id.imgview);
return item_icon;
}
public void setItem_icon(ImageView item_icon) {
this.item_icon = item_icon;
}
public Button getItem_but() {
item_but = (Button)baseview.findViewById(R.id.button);
return item_but;
}
public void setItem_but(Button item_but) {
this.item_but = item_but;
}
}
}
/** Called when the activity is first created. */
private ListView list;
private int[] type = {0,2,1,0,2,1,1,0};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list = (ListView)findViewById(R.id.list);
list.setAdapter(new MyListAdapter(this,type));
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/list"
android:divider="@android:color/white"
android:dividerHeight="1dp"></ListView>
</LinearLayout>
allwidget.xml文件
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text"
android:text="@string/app_name"
android:visibility="invisible"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="@string/app_name"
android:visibility="invisible"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imgview"
android:src="@drawable/ic_launcher"
android:visibility="invisible"/></FrameLayout>
public MyListAdapter(Activity activity,int[] type){
this.activity = activity;
this.type = type;
}
有一个人写了几句,其实用实例化MyListAdapter的时候,将activity和type(数据源)都已经传过来了。所以,如果只是数据源不一样,UI一样,完全可以用一个Adapter.你应该动手写写,不要老等别人写好的代码,呵呵,加油