Android ListView未在片段中显示,但正在继续工作
我有一个片段,它显示了一个自定义的ListView。片段如下-Android ListView未在片段中显示,但正在继续工作,android,xml,android-layout,listview,android-fragments,Android,Xml,Android Layout,Listview,Android Fragments,我有一个片段,它显示了一个自定义的ListView。片段如下- package com.grabstr.home; import java.util.ArrayList; import com.grabstr.common.Utils_Grabstr; import com.grabstr.database.DBhelper; import com.grabstr.search.Nearby_Search; import com.rey.mat
package com.grabstr.home;
import java.util.ArrayList;
import com.grabstr.common.Utils_Grabstr;
import com.grabstr.database.DBhelper;
import com.grabstr.search.Nearby_Search;
import com.rey.material.widget.FloatingActionButton;
import com.tech.grabstr.R;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SwipeRefreshLayout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ListView;
import com.grabstr.home.Rewards_Data;
public class GrabItFragment extends Fragment implements FragmentCommunicator {
Activity activity;
ListView lv_grabit;
RewardsAdapter rewardsAdapter;
Context context;
LinearLayout ll_error, ll_nointernet;
private ActivityCommunicator activityCommunicator;
//String final_quary = "";
//DBhelper db_helper;
//ArrayList<Locations_data> arr_Locations;
ArrayList<Rewards_Data> arr_Rewards;
SwipeRefreshLayout swipeView;
com.rey.material.widget.ProgressView progress_wheel;
//private Drawable[] mDrawables = new Drawable[2];
public static GrabItFragment newInstance() {
GrabItFragment fragment = new GrabItFragment();
return fragment;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
context = getActivity();
activityCommunicator = (ActivityCommunicator) context;
((Home) context).fragmentCommunicator = this;
//db_helper = new DBhelper(context);
}
@SuppressWarnings("deprecation")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.grabit_fragment, container, false);
lv_grabit = (ListView) v.findViewById(R.id.grabItList);
swipeView = (SwipeRefreshLayout) v.findViewById(R.id.swipe);
progress_wheel = (com.rey.material.widget.ProgressView) v
.findViewById(R.id.progress_wheel);
//fab_image = (FloatingActionButton) v.findViewById(R.id.ivFilter);
ll_error = (LinearLayout) v.findViewById(R.id.ll_error);
ll_nointernet = (LinearLayout) v.findViewById(R.id.ll_nointernet);
// lv_popular.setEmptyView(ll_error);
if (!Utils_Grabstr.isNetworkAvailable(context)) {
//fab_image.setVisibility(View.GONE);
lv_grabit.setVisibility(View.GONE);
ll_error.setVisibility(View.GONE);
progress_wheel.setVisibility(View.GONE);
ll_nointernet.setVisibility(View.VISIBLE);
}
swipeView.setColorScheme(R.color.orange);
swipeView
.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
if (Utils_Grabstr.isNetworkAvailable(context)) {
swipeView.setRefreshing(true);
(new Handler()).postDelayed(new Runnable() {
@Override
public void run() {
swipeView.setRefreshing(false);
ArrayList<Rewards_Data> result = new ArrayList<Rewards_Data>();
if (rewardsAdapter == null) {
rewardsAdapter = new RewardsAdapter(
getActivity(), getActivity(),
result);
lv_grabit.setAdapter(rewardsAdapter);
ll_error.setVisibility(View.GONE);
ll_nointernet.setVisibility(View.GONE);
progress_wheel
.setVisibility(View.VISIBLE);
} else {
rewardsAdapter.update_array(result);
//fab_image.setVisibility(View.VISIBLE);
ll_error.setVisibility(View.GONE);
ll_nointernet.setVisibility(View.GONE);
progress_wheel
.setVisibility(View.VISIBLE);
rewardsAdapter.notifyDataSetChanged();
}
//final_quary = "";
//fab_image.setIcon(mDrawables[0], true);
activityCommunicator
.passDataToActivity("referesh");
}
}, 800);
}
}
});
return v;
}
@Override
public void onPause() {
super.onPause();
}
public void onResume() {
super.onResume();
if (Utils_Grabstr.isNetworkAvailable(context)) {
//if (final_quary.equalsIgnoreCase("")) {
//fab_image.setIcon(mDrawables[0], true);
ArrayList<Rewards_Data> result = ((Home) context).arr_Rewards;
if (result.size() > 0) {
ll_nointernet.setVisibility(View.GONE);
lv_grabit.setVisibility(View.VISIBLE);
if (lv_grabit.getAdapter() == null) {
rewardsAdapter = new RewardsAdapter(getActivity(),
getActivity(), result);
lv_grabit.setAdapter(rewardsAdapter);
//fab_image.setVisibility(View.VISIBLE);
ll_error.setVisibility(View.GONE);
ll_nointernet.setVisibility(View.GONE);
progress_wheel.setVisibility(View.GONE);
} else {
if (rewardsAdapter == null) {
rewardsAdapter = new RewardsAdapter(getActivity(),
getActivity(), result);
lv_grabit.setAdapter(rewardsAdapter);
progress_wheel.setVisibility(View.GONE);
//fab_image.setVisibility(View.VISIBLE);
ll_error.setVisibility(View.GONE);
} else {
rewardsAdapter.update_array(result);
rewardsAdapter.notifyDataSetChanged();
//fab_image.setVisibility(View.VISIBLE);
ll_error.setVisibility(View.GONE);
progress_wheel.setVisibility(View.GONE);
}
}
} else {
// lv_popular.setVisibility(View.GONE);
// ll_nointernet.setVisibility(View.GONE);
// progress_wheel.setVisibility(View.GONE);
// ll_error.setVisibility(View.VISIBLE);
}
} else {
//fab_image.setVisibility(View.GONE);
lv_grabit.setVisibility(View.GONE);
ll_error.setVisibility(View.GONE);
progress_wheel.setVisibility(View.GONE);
ll_nointernet.setVisibility(View.VISIBLE);
}
}
@Override
public void passDataToRewardFragment(ArrayList<Rewards_Data> result) {
// TODO Auto-generated method stub
if (result.size() > 0) {
ll_nointernet.setVisibility(View.GONE);
lv_grabit.setVisibility(View.VISIBLE);
if (lv_grabit.getAdapter() == null) {
rewardsAdapter = new RewardsAdapter(getActivity(), getActivity(),
result);
lv_grabit.setAdapter(rewardsAdapter);
//fab_image.setVisibility(View.VISIBLE);
ll_error.setVisibility(View.GONE);
progress_wheel.setVisibility(View.GONE);
} else {
if (rewardsAdapter == null) {
rewardsAdapter = new RewardsAdapter(getActivity(),
getActivity(), result);
lv_grabit.setAdapter(rewardsAdapter);
//fab_image.setVisibility(View.VISIBLE);
ll_error.setVisibility(View.GONE);
progress_wheel.setVisibility(View.GONE);
} else {
rewardsAdapter.update_array(result);
rewardsAdapter.notifyDataSetChanged();
//fab_image.setVisibility(View.VISIBLE);
ll_error.setVisibility(View.GONE);
progress_wheel.setVisibility(View.GONE);
}
}
} else {
lv_grabit.setVisibility(View.GONE);
ll_nointernet.setVisibility(View.GONE);
progress_wheel.setVisibility(View.GONE);
ll_error.setVisibility(View.VISIBLE);
}
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// init();
}
@Override
public void passDataToFragment(ArrayList<Deal_data> result) {
// TODO Auto-generated method stub
}
}
package com.grabstr.home;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import com.grabstr.search.Special_Search;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
import com.tech.grabstr.R;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class RewardsAdapter extends BaseAdapter {
private Context context;
private Activity activity;
private ArrayList<Rewards_Data> dd;
DisplayImageOptions options;
private ImageLoadingListener animatedisplayListener = new AnimateDisplayListener();
protected ImageLoader imageLoader = ImageLoader.getInstance();
public RewardsAdapter(Context context, Activity activity,
ArrayList<Rewards_Data> messages) {
super();
this.activity = activity;
this.context = context;
this.dd = messages;
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.foodbg)
.showImageForEmptyUri(R.drawable.foodbg)
.showImageOnFail(R.drawable.foodbg).cacheInMemory(true)
.cacheOnDisc(true).considerExifParams(true).build();
}
public void update_array(ArrayList<Rewards_Data> chats_array_list) {
this.dd = chats_array_list;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return dd.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return dd.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View view = convertView;
final ViewHolder holder;
if (convertView == null) {
view = (activity).getLayoutInflater().inflate(R.layout.rewards_listrow, parent, false);
holder = new ViewHolder();
holder.rl_layParent2 = (RelativeLayout) view
.findViewById(R.id.rl_layParent2);
holder.img_reward = (ImageView) view
.findViewById(R.id.img_reward);
holder.rewardstxt_tags = (TextView) view.findViewById(R.id.rewardstxt_tags);
holder.txt_Reward = (TextView) view.findViewById(R.id.txt_Reward);
holder.txt_RewardsPercentage = (TextView) view
.findViewById(R.id.txt_RewardsPercentage);
holder.txt_RewardsLocations = (TextView) view
.findViewById(R.id.txt_RewardsLocations);
holder.txt_RewardsChance = (TextView) view
.findViewById(R.id.txt_RewardsChance);
holder.txt_Rewardstimings = (TextView) view.findViewById(R.id.txt_Rewardstimings);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
if (!dd.get(position).getCategory().equals("")
&& dd.get(position).getCategory().length() > 2
&& !dd.get(position).getCategory().equalsIgnoreCase("undefined")) {
holder.rewardstxt_tags.setVisibility(View.VISIBLE);
holder.rewardstxt_tags.setText(dd.get(position).getCategory());
} else
holder.rewardstxt_tags.setVisibility(View.GONE);
holder.rewardstxt_tags.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent Special_Search = new Intent(context,
Special_Search.class);
Special_Search.putExtra("deal_tag", dd.get(position).getCategory());
context.startActivity(Special_Search);
}
});
if (!dd.get(position).getName().equals(""))
holder.txt_Reward.setText(dd.get(position).getName());
else
holder.txt_Reward.setText("N/A");
if(dd.get(position).getCategory().equals("weekly") || dd.get(position).getCategory().equals("monthly")
|| dd.get(position).getCategory().equals("daily")){
if(!dd.get(position).getClaims().equals(""))
holder.txt_RewardsPercentage.setText("100%");
else
{
float claims = Float.parseFloat(dd.get(position).getClaims());
float quantity = Float.parseFloat(dd.get(position).getQuantity());
float result = (quantity/claims);
String finalresult = String.format("%.2f", result);
int probability = Integer.parseInt(finalresult);
holder.txt_RewardsPercentage.setText(probability*100 + "%");
}
holder.txt_RewardsChance.setText("chance of winning");
}else
{
holder.txt_RewardsPercentage.setText(dd.get(position).getClaims());
holder.txt_RewardsChance.setText("out of "+dd.get(position).getQuantity()+" applied");
}
if (!dd.get(position).getBrand_name().equals(""))
holder.txt_RewardsLocations.setText(dd.get(position).getBrand_name());
else
holder.txt_RewardsLocations.setText("N/A");
if (!dd.get(position).getImage_url().equals("")) {
imageLoader.displayImage(dd.get(position).getImage_url(),
holder.img_reward, options, animatedisplayListener);
//Log.e("Images", "URL: " + dd.get(position).getimgURL());
}
holder.txt_Rewardstimings.setText("");
holder.rl_layParent2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
}
});
return view;
}
private class ViewHolder {
RelativeLayout rl_layParent2;
ImageView img_reward;
TextView rewardstxt_tags, txt_Reward, txt_RewardsPercentage, txt_RewardsLocations,
txt_RewardsChance, txt_Rewardstimings;
}
private static class AnimateDisplayListener extends
SimpleImageLoadingListener {
static final List<String> displayedImages = Collections
.synchronizedList(new LinkedList<String>());
@Override
public void onLoadingComplete(String imageUri, View view,
Bitmap loadedImage) {
if (loadedImage != null) {
ImageView imageView = (ImageView) view;
boolean firstDisplay = !displayedImages.contains(imageUri);
if (firstDisplay) {
FadeInBitmapDisplayer.animate(imageView, 500);
displayedImages.add(imageUri);
}
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:app1="http://schemas.android.com/apk/res/com.tech.grabstr"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/fragmentbggray"
android:fillViewport="true"
android:scrollbarStyle="outsideOverlay" >
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp" >
<ListView
android:id="@+id/grabItList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:divider="@android:color/transparent"
android:dividerHeight="5dp"
android:scrollbars="none" >
</ListView>
</android.support.v4.widget.SwipeRefreshLayout>
<com.rey.material.widget.ProgressView
android:id="@+id/progress_wheel"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@color/orange" />
<LinearLayout
android:id="@+id/ll_error"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_weight="1"
android:gravity="center"
android:padding="5dp"
android:visibility="gone">
<ImageView android:id="@+id/imgError"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/no_deals_found"/>
<com.grabstr.fonts.MyTextView
android:id="@+id/txtNoResult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="5dp"
android:text="OOPS. NO REWARDS FOUND!"
android:textAllCaps="true"
android:textColor="@color/text_grey_color"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_nointernet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_weight="1"
android:gravity="center"
android:padding="5dp"
android:visibility="gone">
<ImageView android:id="@+id/imgnointernet"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/no_internet"/>
<com.grabstr.fonts.MyTextView
android:id="@+id/txtNoInternet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="5dp"
android:text="INTERNET CONNECTION LOST"
android:textAllCaps="true"
android:textColor="@color/text_grey_color"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
package com.grabstr.home;
导入java.util.ArrayList;
导入com.grabstr.common.Utils\u grabstr;
导入com.grabstr.database.DBhelper;
导入com.grabstr.search.nearnear\u search;
导入com.rey.material.widget.FloatingActionButton;
进口com.tech.grabstr.R;
导入android.app.Activity;
导入android.content.Context;
导入android.content.Intent;
导入android.graphics.drawable.drawable;
导入android.os.Bundle;
导入android.os.Handler;
导入android.support.v4.app.Fragment;
导入android.support.v4.widget.swiperFreshLayout;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.LinearLayout;
导入android.widget.ListView;
导入com.grabstr.home.u数据;
公共类GrabItFragment扩展片段实现FragmentCommunicator{
活动;
ListView lv_grabit;
奖赏者奖赏者;
语境;
线性布局错误,无互联;
私人活动通讯员活动通讯员;
//字符串final_quary=“”;
//DBhelper-db_-helper;
//阵列列表阵列位置;
ArrayList arr_奖励;
swipeView;
com.rey.material.widget.ProgressView进度控制盘;
//私有可提取[]mDrawables=新可提取[2];
公共静态GrabItFragment newInstance(){
GrabItFragment=新的GrabItFragment();
返回片段;
}
@凌驾
公共事务主任(活动){
超级转速计(活动);
context=getActivity();
activityCommunicator=(activityCommunicator)上下文;
((主)上下文)。fragmentCommunicator=this;
//db_helper=新的DBhelper(上下文);
}
@抑制警告(“弃用”)
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图v=充气机。充气(R.layout.grabit_碎片,容器,假);
lv_grabit=(列表视图)v.findViewById(R.id.grabItList);
swipeView=(SwipeRefreshLayout)v.findViewById(R.id.swipe);
progress\u wheel=(com.rey.material.widget.ProgressView)v
.findViewById(R.id.progress\u wheel);
//fab_image=(FloatingActionButton)v.findViewById(R.id.ivFilter);
ll_error=(LinearLayout)v.findViewById(R.id.ll_error);
ll_nointernet=(线性布局)v.findViewById(R.id.ll_nointernet);
//lv_popular.setEmptyView(ll_错误);
如果(!Utils_Grabstr.isNetworkAvailable(上下文)){
//fab_image.setVisibility(View.GONE);
lv_grabit.setVisibility(View.GONE);
ll_error.setVisibility(View.GONE);
进度轮设置可见性(视图已消失);
ll_nointernet.setVisibility(View.VISIBLE);
}
swipeView.setColorScheme(R.color.orange);
swipeView
.setOnRefreshListener(新的SwipeRefreshLayout.OnRefreshListener(){
@凌驾
公共void onRefresh(){
if(Utils_Grabstr.isNetworkAvailable(上下文)){
swipeView.setRefreshing(true);
(新的处理程序()).postDelayed(新的可运行(){
@凌驾
公开募捐{
swipeView.setRefreshing(false);
ArrayList结果=新建ArrayList();
如果(rewardsAdapter==null){
rewardsAdapter=新的rewardsAdapter(
getActivity(),getActivity(),
结果);
lv_grabit.setAdapter(补偿适配器);
ll_error.setVisibility(View.GONE);
ll_nointernet.setVisibility(View.GONE);
进步之轮
.setVisibility(View.VISIBLE);
}否则{
更新数组(结果);
//fab_image.setVisibility(视图可见);
ll_error.setVisibility(View.GONE);
ll_nointernet.setVisibility(View.GONE);
进步之轮
.setVisibility(View.VISIBLE);
rewardsAdapter.notifyDataSetChanged();
}
//最后一方=”;
//fab_image.setIcon(mDrawables[0],true);
活动通讯器
.passDataToActivity(“referesh”);
}
}, 800);
}
}
});
返回v;
}
@凌驾
公共无效暂停(){
super.onPause();
}
恢复时公开作废(){
super.onResume();
if(Utils_Grabstr.isNetworkAvailable(上下文)){
//if(最终同等信号(“”){
//fab_image.setIcon(mDrawables[0],true);
ArrayList结果=((主)上下文);
如果(result.size()>0){
ll_nointernet.setVisibili
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.grabit_fragment, container, false);
lv_grabit = (ListView) v.findViewById(R.id.grabItList);
swipeView = (SwipeRefreshLayout) v.findViewById(R.id.swipe);
progress_wheel = (com.rey.material.widget.ProgressView) v
.findViewById(R.id.progress_wheel);
//fab_image = (FloatingActionButton) v.findViewById(R.id.ivFilter);
ll_error = (LinearLayout) v.findViewById(R.id.ll_error);
ll_nointernet = (LinearLayout) v.findViewById(R.id.ll_nointernet);
// lv_popular.setEmptyView(ll_error);
if (!Utils_Grabstr.isNetworkAvailable(context)) {
//fab_image.setVisibility(View.GONE);
lv_grabit.setVisibility(View.GONE);
ll_error.setVisibility(View.GONE);
progress_wheel.setVisibility(View.GONE);
ll_nointernet.setVisibility(View.VISIBLE);
}
swipeView.setColorScheme(R.color.orange);
swipeView
.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
if (Utils_Grabstr.isNetworkAvailable(context)) {
swipeView.setRefreshing(true);
(new Handler()).postDelayed(new Runnable() {
@Override
public void run() {
swipeView.setRefreshing(false);
ArrayList<Rewards_Data> result = new ArrayList<Rewards_Data>();
if (rewardsAdapter == null) {
rewardsAdapter = new RewardsAdapter(
getActivity(), getActivity(),
result);
lv_grabit.setAdapter(rewardsAdapter);
ll_error.setVisibility(View.GONE);
ll_nointernet.setVisibility(View.GONE);
progress_wheel
.setVisibility(View.VISIBLE);
} else {
rewardsAdapter.update_array(result);
//fab_image.setVisibility(View.VISIBLE);
ll_error.setVisibility(View.GONE);
ll_nointernet.setVisibility(View.GONE);
progress_wheel
.setVisibility(View.VISIBLE);
rewardsAdapter.notifyDataSetChanged();
}
//final_quary = "";
//fab_image.setIcon(mDrawables[0], true);
activityCommunicator
.passDataToActivity("referesh");
}
}, 800);
}
}
});
return v;
}