在我的应用程序中,我有一个列表视图,这是一个帖子提要,当我在应用程序中导航时,有时应用程序停止并且logcat显示以下消息:
07-29 16:58:06.855: E/AndroidRuntime(6290): FATAL EXCEPTION: main
07-29 16:58:06.855: E/AndroidRuntime(6290): Process: com.codal.whatsee, PID: 6290
07-29 16:58:06.855: E/AndroidRuntime(6290): android.view.InflateException: Binary XML file line #53: Error inflating class <unknown>
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.LayoutInflater.createView(LayoutInflater.java:620)
07-29 16:58:06.855: E/AndroidRuntime(6290): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
07-29 16:58:06.855: E/AndroidRuntime(6290): at com.codal.whatsee.adapter.FeedRowAdapter.getView(FeedRowAdapter.java:114)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:220)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.AbsListView.obtainView(AbsListView.java:2255)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.ListView.makeAndAddView(ListView.java:1790)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.ListView.fillDown(ListView.java:691)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.ListView.fillSpecific(ListView.java:1349)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.ListView.layoutChildren(ListView.java:1620)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.AbsListView.onLayout(AbsListView.java:2087)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.View.layout(View.java:14841)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.ViewGroup.layout(ViewGroup.java:4631)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.View.layout(View.java:14841)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.ViewGroup.layout(ViewGroup.java:4631)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.View.layout(View.java:14841)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.ViewGroup.layout(ViewGroup.java:4631)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.View.layout(View.java:14841)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.ViewGroup.layout(ViewGroup.java:4631)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.View.layout(View.java:14841)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.ViewGroup.layout(ViewGroup.java:4631)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.View.layout(View.java:14841)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.ViewGroup.layout(ViewGroup.java:4631)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.View.layout(View.java:14841)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.ViewGroup.layout(ViewGroup.java:4631)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.View.layout(View.java:14841)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.ViewGroup.layout(ViewGroup.java:4631)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.View.layout(View.java:14841)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.ViewGroup.layout(ViewGroup.java:4631)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.View.layout(View.java:14841)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.ViewGroup.layout(ViewGroup.java:4631)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.View.layout(View.java:14841)
07-29 16:58:06.855: E/AndroidRuntime(6290): at android.view.ViewGroup.layout(ViewGroup.java:4631)
07-29 16:58:06.855: E/AndroidRuntime(6290): at com.android.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:374)
07-29 16:58:06.855: E/AndroidRuntime(6290): at a
有时会出现内存不足错误,它会对此产生影响吗?
任何人都可以帮助我吗? 提前致谢
编辑: 这是我的listview的适配器
public class FeedRowAdapter extends ArrayAdapter<FeedView> {
private Activity activity;
private List<FeedView> items;
private FeedView objBean;
private int row;
private DisplayImageOptions options;
ImageLoader imageLoader;
private AddRatingTask mRatingTask = null;
private DeleteTask deleteTask = null;
private float rate;
private String id;
private String token;
private AuthManager session;
private RatingBar rb;
private float lastRate;
private int itemDelete;
private ReportTask reportTask = null;
public int code;
private TextView tvRb;
protected int posRating;
protected String myLastRating;
public FeedRowAdapter(Activity act, int resource, List<FeedView> arrayList)
throws Exception {
super(act, resource, arrayList);
this.activity = act;
this.row = resource;
this.items = arrayList;
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.color.grey)
.showImageForEmptyUri(R.color.grey).cacheInMemory(true)
.cacheOnDisk(true).build();
imageLoader = ImageLoader.getInstance();
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view = convertView;
final ViewHolder holder;
if (view == null) {
LayoutInflater inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(row, null);
holder = new ViewHolder();
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
if ((items == null) || ((position + 1) > items.size()))
return view;
objBean = items.get(position);
session = new AuthManager(activity.getApplicationContext());
token = session.getUserDetails().getToken();
id = objBean.getId();
holder.tvTitle = (TextView) view.findViewById(R.id.nameUserPost);
holder.tvDesc = (TextView) view.findViewById(R.id.textPost);
holder.tvLocation = (TextView) view.findViewById(R.id.locationUserPost);
// holder.tvDate = (TextView) view.findViewById(R.id.datePost);
holder.imgUserView = (RoundedImageView) view
.findViewById(R.id.imgUserPost);
holder.imgPostView = (ImageView) view.findViewById(R.id.imgPostItem);
holder.tvRating = (TextView) view.findViewById(R.id.tvFollowing);
holder.pbar = (ProgressBar) view.findViewById(R.id.pbarPost);
holder.pbarImgPost = (ProgressBar) view.findViewById(R.id.pbarImgPost);
holder.ratingBar = (RatingBar) view.findViewById(R.id.ratingBar);
holder.btComentar = (Button) view.findViewById(R.id.bt_comentar);
holder.tvTime = (TextView) view.findViewById(R.id.tvTime);
holder.btReport = (Button) view.findViewById(R.id.bt_report);
rate = Float.valueOf(objBean.getMyRating());
holder.tvTitle.setText(objBean.getNome());
holder.tvLocation.setText(objBean.getLocation());
// holder.tvDate.setText(objBean.getData());
holder.tvRating.setText(objBean.getRating());
holder.ratingBar.setRating(rate);
holder.ratingBar.setTag(position);
DateTimeUtils obj = new DateTimeUtils();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
"yyyy-M-dd hh:mm:ss");
try {
Date date1 = simpleDateFormat.parse(objBean.getData());
Time now = new Time();
now.setToNow();
long diffInMillisec = now.toMillis(true) - date1.getTime();
long diffInSec = TimeUnit.MILLISECONDS.toSeconds(diffInMillisec);
long seconds = diffInSec % 60;
diffInSec /= 60;
long minutes = diffInSec % 60;
diffInSec /= 60;
long hours = diffInSec % 24;
diffInSec /= 24;
long days = diffInSec;
System.out.printf("%d days, %d hours, %d minutes, %d seconds%n",
days, hours, minutes, seconds);
if (days > 0)
holder.tvTime.setText(days + "d");
else if (hours > 0)
holder.tvTime.setText(hours + "h");
else if (minutes > 0)
holder.tvTime.setText(minutes + "m");
else if (seconds > 0)
holder.tvTime.setText(seconds + "s");
} catch (ParseException e) {
e.printStackTrace();
}
holder.tvTitle.setTag(position);
holder.tvTitle.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// int posDaVez = Integer.valueOf(v.getTag().toString() + "");
int posDaVez = Integer.valueOf(v.getTag().toString());
Intent i = new Intent(activity, ProfileFragmentActivity.class);
i.putExtra("id", items.get(posDaVez).getUser() + "");
clearImageLoader();
activity.startActivity(i);
}
});
holder.imgUserView.setTag(position);
holder.imgUserView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int posDaVez = Integer.valueOf(v.getTag().toString());
Intent i = new Intent(activity, ProfileFragmentActivity.class);
i.putExtra("id", items.get(posDaVez).getUser() + "");
clearImageLoader();
activity.startActivity(i);
}
});
holder.btReport.setTag(position);
holder.btReport.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final int posDaVez = Integer.valueOf(v.getTag().toString());
final String id = items.get(posDaVez).getId();
final String idUser = items.get(posDaVez).getUser();
final String[] options;
final String[] optionsMyPost = {
activity.getResources().getString(R.string.txtDelete),
activity.getResources()
.getString(R.string.textCancelar) };
final String[] optionsPost = {
activity.getResources().getString(R.string.txtReport),
activity.getResources()
.getString(R.string.textCancelar) };
if (session.getUserDetails().getId().equals(idUser)) {
options = optionsMyPost;
} else {
options = optionsPost;
}
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle(activity.getResources().getString(
R.string.txtOptions));
builder.setItems(options,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
if (options[item].equals(activity
.getResources().getString(
R.string.txtReport))) {
reportTask = new ReportTask();
reportTask.execute(id);
} else if (options[item].equals(activity
.getResources().getString(
R.string.txtDelete))) {
deleteTask = new DeleteTask();
deleteTask.execute(
String.valueOf(posDaVez), id);
} else if (options[item].equals(activity
.getResources().getString(
R.string.textCancelar))) {
dialog.dismiss();
}
}
});
builder.show();
}
});
// Pattern to find if there's a hash tag in the message
// i.e. any word starting with a # and containing letter or numbers or _
Pattern tagMatcher = Pattern.compile("[#]+[\\S]+\\b");
// Scheme for Linkify, when a word matched tagMatcher pattern,
// that word is appended to this URL and used as content URI
String newActivityURL = "content://com.codal.whatsee.fragmentactivity.searchfragmentactivity/";
// Attach Linkify to TextView
holder.tvDesc.setText(objBean.getText());
Linkify.addLinks(holder.tvDesc, tagMatcher, newActivityURL);
String imgUserUrl = getContext().getString(R.string.app_host)
+ objBean.getPhoto();
String imgPostUrl = getContext().getString(R.string.app_host)
+ objBean.getImage();
if (null != imgUserUrl && imgUserUrl.trim().length() > 0) {
final ProgressBar pbar = holder.pbar;
imageLoader.init(ImageLoaderConfiguration.createDefault(activity));
imageLoader.displayImage(imgUserUrl, holder.imgUserView, options,
new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
pbar.setVisibility(View.VISIBLE);
}
@Override
public void onLoadingFailed(String imageUri, View view,
FailReason failReason) {
pbar.setVisibility(View.INVISIBLE);
}
@Override
public void onLoadingComplete(String imageUri,
View view, Bitmap loadedImage) {
pbar.setVisibility(View.INVISIBLE);
}
@Override
public void onLoadingCancelled(String imageUri,
View view) {
// TODO Auto-generated method stub
}
});
} else {
holder.imgUserView.setImageResource(R.drawable.avatar);
}
if (null != imgPostUrl && imgPostUrl.trim().length() > 0) {
final ProgressBar pbar = holder.pbarImgPost;
imageLoader.init(ImageLoaderConfiguration.createDefault(activity));
imageLoader.displayImage(imgPostUrl, holder.imgPostView, options,
new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
pbar.setVisibility(View.VISIBLE);
}
@Override
public void onLoadingFailed(String imageUri, View view,
FailReason failReason) {
pbar.setVisibility(View.INVISIBLE);
}
@Override
public void onLoadingComplete(String imageUri,
View view, Bitmap loadedImage) {
pbar.setVisibility(View.INVISIBLE);
}
@Override
public void onLoadingCancelled(String imageUri,
View view) {
// TODO Auto-generated method stub
}
});
} else {
holder.imgPostView.setImageResource(R.drawable.avatar);
}
holder.ratingBar.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
// RatingBar barraDaVez = (RatingBar)v;
// int posVez =
// Integer.valueOf(barraDaVez.getTag().toString());
float touchPositionX = event.getX();
float width = holder.ratingBar.getWidth();
float starsf = (touchPositionX / width) * 5.0f;
int stars = (int) starsf + 1;
rate = Float.valueOf(items.get(position).getMyRating());
lastRate = Float.valueOf(items.get(position).getMyRating());
if (rate == stars) {
stars = 0;
}
holder.ratingBar.setRating(stars);
rate = holder.ratingBar.getRating();
id = items.get(position).getId();
myLastRating = items.get(position).getMyRating();
rb = holder.ratingBar;
tvRb = holder.tvRating;
items.get(position).setMyRating(rate + "");
posRating = position;
mRatingTask = new AddRatingTask();
mRatingTask.execute((Void) null);
v.setPressed(false);
}
if (event.getAction() == MotionEvent.ACTION_DOWN) {
v.setPressed(true);
}
if (event.getAction() == MotionEvent.ACTION_CANCEL) {
v.setPressed(false);
}
return true;
}
});
holder.btComentar.setTag(position);
holder.btComentar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(activity, CommentFragmentActivity.class);
Log.d("Id Resgatado", items.get(position).getId());
i.putExtra("id", items.get(position).getId());
clearImageLoader();
activity.startActivity(i);
// replaceContentView("activity3", i);
}
});
return view;
}
public class ViewHolder {
public TextView tvTitle, tvTime, tvDesc, tvDate, tvLocation, tvRating;
private ImageView imgPostView;
private RoundedImageView imgUserView;
private ProgressBar pbar, pbarImgPost;
private RatingBar ratingBar;
private Button btComentar, btReport;
}
private void onDestroy() {
clearImageLoader();
}
public void successRating() {
Log.d("PosRating", posRating + "");
// Subtrai o valor do voto atual do voto antigo
float newRate = lastRate - Float.parseFloat(myLastRating);
// Soma o voto dado com o voto antigo
items.get(posRating).setRating(
String.valueOf(Integer.parseInt(items.get(posRating)
.getRating()) + Math.round(newRate)));
notifyDataSetChanged();
// tvRb.setText(String.valueOf(Math.round(lastRate)));
}
public void clearImageLoader() {
imageLoader.clearMemoryCache();
imageLoader.clearDiscCache();
}
}
最后是XML文件
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white" >
<RelativeLayout
android:id="@+id/rlItemFeed"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:layout_marginTop="15dp"
android:background="@color/white"
android:orientation="vertical"
android:paddingBottom="20dp" >
<com.codal.whatsee.style.RoundedImageView
android:id="@+id/imgUserPost"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:src="@drawable/perfil" />
<TextView
android:id="@+id/nameUserPost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/imgUserPost"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:layout_toLeftOf="@+id/tlClock"
android:layout_toRightOf="@+id/imgUserPost"
android:minLines="1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/purple"
android:textSize="15sp" />
<TextView
android:id="@+id/textPost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imgUserPost"
android:layout_below="@+id/imgUserPost"
android:layout_marginTop="10dp"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="14sp" />
<ImageView
android:id="@+id/imgPostItem"
android:layout_width="340dp"
android:layout_height="340dp"
android:layout_below="@id/textPost"
android:layout_centerHorizontal="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:scaleType="fitCenter"
android:src="@drawable/montanhas" />
<RatingBar
android:id="@+id/ratingBar"
style="@style/starRatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imgPostItem"
android:layout_centerHorizontal="true"
android:layout_centerVertical="false"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:stepSize="1.0" />
<Button
android:id="@+id/bt_comentar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/tlRating"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/bt_comentar"
android:drawableLeft="@drawable/ic_action_chat"
android:ems="10"
android:hint="@string/comentar"
android:padding="10dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/white"
android:textColorHint="@color/white" />
<ProgressBar
android:id="@+id/pbarPost"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imgUserPost"
android:layout_alignTop="@+id/imgUserPost"
android:layout_marginLeft="22dp"
android:layout_marginTop="22dp" />
<TextView
android:id="@+id/locationUserPost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/nameUserPost"
android:layout_below="@+id/nameUserPost"
android:layout_toRightOf="@+id/ic_place"
android:minLines="1"
android:text="Curitiba"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="12sp" />
<ProgressBar
android:id="@+id/pbarImgPost"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<ImageView
android:id="@+id/ic_place"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_alignLeft="@+id/nameUserPost"
android:layout_below="@+id/nameUserPost"
android:src="@drawable/ic_action_place" />
<TableLayout
android:id="@+id/tlRating"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_below="@+id/ratingBar"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:shrinkColumns="*"
android:stretchColumns="*" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical" >
<ImageView
android:id="@+id/ibx_lido"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_gravity="center_vertical|right"
android:src="@drawable/star_full" />
<TextView
android:id="@+id/tvFollowing"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical"
android:text="210"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="12sp" />
</TableRow>
</TableLayout>
<TableLayout
android:id="@+id/tlClock"
android:layout_width="60dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/nameUserPost"
android:layout_marginRight="10dp"
android:shrinkColumns="*"
android:stretchColumns="*" >
<TableRow
android:id="@+id/TableRow01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical" >
<ImageView
android:id="@+id/ImageView2"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="center_vertical|right"
android:src="@drawable/ic_action_alarms" />
<TextView
android:id="@+id/tvTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical|center_horizontal"
android:text="13h"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="12sp" />
</TableRow>
</TableLayout>
<Button
android:id="@+id/bt_report"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/bt_comentar"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/bt_comentar"
android:layout_marginRight="10dp"
android:background="@drawable/bt_comentar"
android:ems="10"
android:padding="10dp"
android:text="···"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/white"
android:textSize="27sp"
android:textStyle="bold" />
</RelativeLayout>
</ScrollView>