HorizontalListView не прокручивается [Android][Parse.com]
Я пытался этот код для извлечения данных из Parse.com
, прекрасно работает с GridView
а также ListView
, Что я хочу сделать, это реализовать его в HorizontalListView
, для которого я использую эту библиотеку. Основная проблема заключается в том, что изображения загружаются правильно, но список вообще не будет прокручиваться, где, как будто я использую его обычно для чего-то другого, он работает нормально. Я пробовал это с загрузкой изображений из URL.
ParseFragment.java
public class ParseFragment extends Fragment {
public ParseFragment() {
}
HorizontalListView grid;
List<ParseObject> ob;
GridViewAdapter adapter;
private List<GlowoodList> glowoodList = null;
View rootView;
String button_str;
ParseFile image;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_main, container, false);
Bundle bundle = getArguments();
button_str = bundle.getString("button");
Log.e("BUTTON CLICKED", "BUTTON CLICKED: " + button_str);
Thread t = new Thread(new Runnable() {
@Override
public void run() {
Parse.initialize(ParseFragment.this.getActivity(),
"Application_id",
"Client_id");
ParseUser.enableAutomaticUser();
ParseACL defaultACL = new ParseACL();
defaultACL.setPublicReadAccess(true);
ParseACL.setDefaultACL(defaultACL, true);
new RemoteDataTask().execute();
}
});
t.start();
return rootView;
}
private class RemoteDataTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
glowoodList = new ArrayList<GlowoodList>();
try {
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>(
button_str);
query.orderByAscending("position");
ob = query.find();
for (ParseObject country : ob) {
image = (ParseFile) country.get("wallpapers");
GlowoodList map = new GlowoodList();
map.setPhone(image.getUrl());
map.setName((String) country.get("Name"));
glowoodList.add(map);
}
} catch (ParseException e) {
Log.e("ParseException", "parse: " + e);
}
return null;
}
@Override
protected void onPostExecute(Void result) {
grid = (HorizontalListView) rootView.findViewById(R.id.grid);
adapter = new GridViewAdapter(ParseFragment.this.getActivity(),
glowoodList);
grid.setAdapter(adapter);
grid.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Log.e("URL", "URL" + image.getUrl());
}
});
}
}
}
fragment_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.parsedotcom.MainActivity$PlaceholderFragment" >
<com.meetme.android.horizontallistview.HorizontalListView
android:id="@+id/grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbarAlwaysDrawHorizontalTrack="true"
></com.meetme.android.horizontallistview.HorizontalListView>
</RelativeLayout>
GridViewAdapter.java
public class GridViewAdapter extends BaseAdapter {
Context context;
LayoutInflater inflater;
ImageLoader image;
private List<GlowoodList> glowoodList = null;
private ArrayList<GlowoodList> arraylist;
public GridViewAdapter(Context context, List<GlowoodList> glowoodList) {
super();
this.context = context;
this.glowoodList = glowoodList;
this.arraylist = new ArrayList<GlowoodList>();
inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.arraylist.addAll(glowoodList);
image = new ImageLoader(context);
}
public class ViewHolder{
ImageView phone;
TextView text;
}
@Override
public int getCount() {
return glowoodList.size();
}
@Override
public Object getItem(int position) {
return glowoodList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if(convertView==null){
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.grid_images, null);
holder.phone = (ImageView)convertView.findViewById(R.id.phone);
holder.text = (TextView)convertView.findViewById(R.id.text);
convertView.setTag(holder);
}else{
holder = (ViewHolder)convertView.getTag();
}
image.DisplayImage(glowoodList.get(position).getPhone(),holder.phone);
holder.text.setText(glowoodList.get(position).getName());
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Bundle bundle = new Bundle();
bundle.putString("phone", glowoodList.get(position).getPhone());
bundle.putString("name", glowoodList.get(position).getName());
Log.e("BUNDLE POSITION", "BUNDLE POSITION:"+bundle);
}
});
return convertView;
}
}
Может кто-нибудь, пожалуйста, помогите??! HorizontalListView вообще не прокручивается!!! Спасибо