首先抱歉通信不畅,我使用自定义数组适配器,图像列表和名称在我的应用程序中显示gridview控件。图像和名称来自sql server数据库,现在显示所有图像绑定并显示到gridview ,我想要显示幻灯片类型的图像,即点击图像幻灯片到下一个3图像显示后第一列显示3个图像..任何人都请帮助我。
我的代码是:
enquiryfrm.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select Name"/>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<ScrollView
android:id="@+id/questionListSV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fillViewport="true">
<GridView
android:id="@+id/gridviewimg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:numColumns="3"
android:horizontalSpacing="10dp"
android:scrollbars="horizontal"
android:scrollbarAlwaysDrawHorizontalTrack="true"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:stretchMode="none"
android:columnWidth="100dp"
android:paddingBottom="60dp"/>
</ScrollView>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content">
</Spinner>
</LinearLayout>
2.enquiryaimagetemplate.xml
<?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="wrap_content"
android:padding="1dp"
android:orientation="vertical">
<ImageView
android:id="@+id/imageview2"
android:layout_width="120dp"
android:layout_height="120dp"
android:scaleType="fitXY"
android:layout_marginRight="10dp"
android:src="@drawable/not_available" />
<TextView
android:id="@+id/txtitem_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:textSize="15sp" >
</TextView>
<TextView
android:id="@+id/txtregidno"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:textSize="15sp" >
</TextView>
</LinearLayout>
3.enquiryitems.java
public class enquiryItems {
String itemname;
int Reg_id;
Bitmap itemimg;
public enquiryItems(String itemname,Bitmap itemimg,int Reg_id){
this.itemname=itemname;
this.itemimg=itemimg;
this.Reg_id=Reg_id;
}
public String getItemname(){
return itemname;
}
public Bitmap getItemimg(){return itemimg;}
public int getReg_id(){return Reg_id;}
}
4.enquiryarrayadapter
public class EnquiryArrayadapter extends ArrayAdapter<enquiryItems> {
ArrayList<enquiryItems> itemlist = new ArrayList<>();
private Context context;
ConnectionClass connectionClass;
public EnquiryArrayadapter(ArrayList<enquiryItems> objects,Context context) {
super(context,R.layout.enquiryaimagetemplate,objects);
this.itemlist=objects;
this.context=context;
//visitorlist=objects;
}
@Override
public int getCount() {
return super.getCount();
}
@Override
public View getView(final int position, View convertview, ViewGroup parent){
if (convertview == null) { // This a new view we inflate the new layout
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertview = inflater.inflate(R.layout.enquiryaimagetemplate, parent, false);
}
connectionClass = new ConnectionClass();
final TextView txtitem_name=(TextView)convertview.findViewById(R.id.txtitem_name);
final TextView txtregidno = (TextView) convertview.findViewById(R.id.txtregidno);
final ImageView imageview2 = (ImageView) convertview.findViewById(R.id.imageview2);
final enquiryItems objitem=itemlist.get(position);
imageview2.setImageBitmap(objitem.getItemimg());
txtitem_name.setText(objitem.getItemname());
txtregidno.setText(String.valueOf(objitem.getReg_id()));
// txtregidno.setVisibility(View.GONE);
imageview2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//ImageView imageview2 = (ImageView) v;
String idval = txtregidno.getText().toString();
/* int id=Integer.parseInt(String.valueOf(idval));
zoomImageFromThumb(imageview2, id);*/
}
});
return convertview;
}
5.enquiry.java
public class Enquiry extends Fragment {
ProgressDialog pbd;
GridView gridviewimg;
ConnectionClass connectionClass;
int RegIdNo;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.enquiryfrm, container, false);
connectionClass=new ConnectionClass();
gridviewimg=(GridView)rootView.findViewById(R.id.gridviewimg);
Fetch fe=new Fetch();
fe.execute("");
return rootView;
}
public class Fetch extends AsyncTask<String, String, String> {
String z = "";
String ownid;
ArrayList<enquiryItems> visitorList=new ArrayList<>();
@Override
protected void onPreExecute() {
pbd=new ProgressDialog(getActivity());
pbd.setMessage("Please Wait...");
pbd.setCancelable(false);
pbd.show();
}
@Override
protected void onPostExecute(String r) {
// pbbar.setVisibility(View.GONE);
if (pbd.isShowing())
pbd.dismiss();
if(r!="empty"){
Toast.makeText(getActivity(), r, Toast.LENGTH_SHORT).show();
}
EnquiryArrayadapter myAdapter=new EnquiryArrayadapter(visitorList,getActivity());
myAdapter.notifyDataSetChanged();
gridviewimg.setAdapter(myAdapter);
// Toast.makeText(getActivity(), r, Toast.LENGTH_SHORT).show();
}
@Override
protected String doInBackground(String... params) {
try {
Connection con = connectionClass.CONN();
if (con == null) {
z = "Error in connection with SQL server";
} else {//
String query="";
query = "select * from FB_Feedback";
PreparedStatement ps2 = con.prepareStatement(query);
ResultSet rs2 = ps2.executeQuery();
ArrayList data1 = new ArrayList();
while (rs2.next()) {
//Reg_Id=rs.getInt("Id");
RegIdNo = rs2.getInt("id");
String r = rs2.getString("Photo");
//Convertong Images string to bitmap
byte[] decodeString = Base64.decode(r, Base64.DEFAULT);
Bitmap decodebitmap = BitmapFactory.decodeByteArray(decodeString, 0, decodeString.length);
visitorList.add(new enquiryItems("Item Name : "+rs2.getString("Feedback"),decodebitmap,RegIdNo));
// }
// z="Success";
}
if (RegIdNo==0){
z="No Visitor data";
}else {
z="empty";
}
}
} catch (Exception ex) {
z = ex.toString();
}
return z;
}
}
喜欢以下格式需要enter image description here