SetEmptyView doesn't fit inside his parent (list view) - java

This is what happen when i set a 'view' for my empty view. (the empty view fit inside the whole screen instead listview's size.
issue
i want to fit my empty view inside the blue area (see the image) :
enter image description here
empty_items
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#bdbdbd">
<ImageView
android:id="#+id/image1"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_gravity="center"
android:background="#mipmap/ic_inf"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:contentDescription="information">
</ImageView>
<TextView
android:layout_width="wrap_content"
android:layout_height="168dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="SIN NADA POR MOSTRAR"
android:textAlignment="center"
android:textSize="32sp"
android:textStyle="bold"
android:textColor="#757575"
android:id="#+id/infoMsgTextView"
android:layout_gravity="center_horizontal|bottom"
android:layout_alignParentTop="false"
android:layout_alignParentLeft="false"
android:layout_alignParentStart="true"
android:layout_marginTop="224dp"
android:layout_alignParentEnd="false"
android:layout_alignParentBottom="true"/>
sales_fragment.xml - a fragment with the listview that i want to set empty view.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fbutton="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:htext="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:fab="http://schemas.android.com/apk/res-auto"
tools:context=".controler.SalesFragment"
android:visibility="visible"
>
<!-- TODO: Update blank fragment layout -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="165dp"
android:layout_gravity="center"
android:background="#144257"
android:id="#+id/relativeLayout"
android:layout_below="#+id/tvClient"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<EditText
android:layout_width="100dp"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:background="#drawable/roundedshadow_et"
android:ems="10"
android:id="#+id/discountEditText"
android:elegantTextHeight="false"
android:hint="#string/discountHint"
android:textColorHint="#FFFF"
android:textColor="#FFFF"
android:textAlignment="center"
android:layout_alignTop="#+id/etPrice"
android:layout_toLeftOf="#+id/etPrice"
android:layout_toStartOf="#+id/etPrice"/>
<AutoCompleteTextView
android:layout_width="300dp"
android:background="#drawable/roundedshadow_et"
android:layout_height="60dp"
android:singleLine="true"
android:scrollHorizontally="true"
android:id="#+id/productAutoCompleteTextView"
android:hint="#string/product"
android:textColorHint="#FFFF"
android:layout_gravity="center"
android:textAlignment="center"
android:textColor="#ffff"
android:visibility="visible"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"/>
<EditText
android:layout_width="100dp"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:background="#drawable/roundedshadow_et"
android:ems="10"
android:id="#+id/amountEditText"
android:elegantTextHeight="false"
android:textAlignment="center"
android:textColor="#FFFF"
android:textColorHint="#FFFF"
android:hint="#string/amountHint"
android:layout_alignTop="#+id/discountEditText"
android:layout_alignLeft="#+id/productAutoCompleteTextView"
android:layout_alignStart="#+id/productAutoCompleteTextView"/>
<info.hoang8f.widget.FButton
android:layout_width="70dp"
android:layout_height="wrap_content"
fbutton:buttonColor="#144257"
fbutton:shadowColor="#0e2e3c"
fbutton:shadowEnabled="true"
fbutton:shadowHeight="5dp"
fbutton:cornerRadius="5dp"
android:textColor="#ffff"
android:textAlignment="center"
android:text="#string/addProduct"
android:id="#+id/addProductBtn"
android:layout_below="#+id/discountEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"/>
<EditText
android:layout_width="100dp"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:background="#drawable/roundedshadow_et"
android:ems="10"
android:id="#+id/etPrice"
android:elegantTextHeight="false"
android:textAlignment="center"
android:textColor="#FFFF"
android:textColorHint="#FFFF"
android:hint="#string/priceHint"
android:layout_centerVertical="true"
android:layout_alignRight="#+id/productAutoCompleteTextView"
android:layout_alignEnd="#+id/productAutoCompleteTextView"/>
</RelativeLayout>
<com.hanks.htextview.HTextView
android:id="#+id/tvClient"
android:layout_width="fill_parent"
android:layout_height="20dp"
android:background="#144257"
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="15sp"
htext:animateType="anvil"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textAlignment="center"/>
<com.hanks.htextview.HTextView
android:id="#+id/tvPrice"
android:layout_width="fill_parent"
android:layout_height="20dp"
android:background="#144257"
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="15sp"
htext:animateType="anvil"
android:textAlignment="center"
android:layout_below="#+id/relativeLayout"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"/>
<com.github.clans.fab.FloatingActionMenu
android:id="#+id/sale_floating_menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fab:menu_animationDelayPerItem="55"
fab:menu_backgroundColor="#color/fbutton_color_transparent"
fab:menu_buttonSpacing="0dp"
fab:menu_colorNormal="#e040fb"
fab:menu_colorPressed="#4d0359"
fab:menu_colorRipple="#99d4d4d4"
fab:menu_fab_label="Opciones de venta"
fab:menu_fab_size="normal"
fab:menu_icon="#mipmap/shopping_cart"
fab:menu_labels_colorNormal="#333"
fab:menu_labels_colorPressed="#444"
fab:menu_labels_colorRipple="#66efecec"
fab:menu_labels_cornerRadius="3dp"
fab:menu_labels_ellipsize="none"
fab:menu_labels_hideAnimation="#anim/fab_slide_out_to_right"
fab:menu_labels_margin="0dp"
fab:menu_labels_maxLines="-1"
fab:menu_labels_padding="8dp"
fab:menu_labels_position="left"
fab:menu_labels_showAnimation="#anim/fab_slide_in_from_right"
fab:menu_labels_showShadow="true"
fab:menu_labels_singleLine="false"
fab:menu_labels_textColor="#f2f1f1"
fab:menu_labels_textSize="15sp"
fab:menu_openDirection="up"
fab:menu_shadowColor="#66aff198"
fab:menu_shadowRadius="4dp"
fab:menu_shadowXOffset="1dp"
fab:menu_shadowYOffset="4dp"
fab:menu_showShadow="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
>
<com.github.clans.fab.FloatingActionButton
android:id="#+id/floating_add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="#mipmap/add_tag"
fab:fab_size="mini" />
<com.github.clans.fab.FloatingActionButton
android:id="#+id/floating_checkout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="#mipmap/checkout"
fab:fab_size="mini" />
</com.github.clans.fab.FloatingActionMenu>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="#+id/tvPrice">
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:longClickable="true"
android:id="#+id/lvCart"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="false"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"/>
</RelativeLayout>
SalesFragment.java
#Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container,
Bundle savedInstanceState)
{
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_sales, container, false);
neverEmptyListView = (ListView) view.findViewById(R.id.lvCart);
ViewGroup headerView = (ViewGroup) getActivity().getLayoutInflater().inflate(R.layout.header_row_layout, neverEmptyListView, false);
neverEmptyListView.addHeaderView(headerView);
View emptyView = getActivity().getLayoutInflater().inflate(R.layout.empty_items, null);
emptyMsg = (TextView) emptyView.findViewById(R.id.infoMsgTextView);
emptyMsg.setText("Agregue productos para la venta");
getActivity().addContentView(emptyView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
neverEmptyListView.setEmptyView(emptyView);
items = new ArrayList<String>();
lvAdapter = new ListViewAdapter
(getContext(), R.layout.row_layout, R.id.description, items);
neverEmptyListView.setAdapter(lvAdapter);

i solve my problem this way:
((ViewGroup)neverEmptyListView.getParent()).addView(emptyView);
neverEmptyListView.setEmptyView(emptyView);

Related

Parse automatically logs out Android

I am having a strange issue where my app automatically logs me out when I open a certain fragment. I have even tried commenting out all the code to stop this from happening but the issue still occurs. I have included my empty class and XML for the fragment. I can only assume it is a silly issue I have overlooked but I have been trying to find the answer for a good few days.
Appreciate any help
fragment_edit_profile
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<ScrollView android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:id="#+id/profileImage"
android:layout_marginTop="25dp"
android:layout_centerHorizontal="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="#+id/profileImage"
android:layout_centerHorizontal="true"
android:text="Change profile picture"
android:textSize="18sp"
android:id="#+id/changeProfilePictureTextView"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="50dp"
android:layout_below="#id/changeProfilePictureTextView"
android:background="#drawable/white_and_grey_border_bottom"
android:id="#+id/relativeLayout1">
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:background="#drawable/ic_action_compose"
android:layout_centerVertical="true"/>
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="45dp"
android:id="#+id/usernameEditTextEditProfile"
android:hint="#string/change_username"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="50dp"
android:layout_below="#id/relativeLayout1"
android:background="#drawable/white_and_grey_border_bottom"
android:id="#+id/relativeLayout2">
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:background="#drawable/ic_action_compose"
android:layout_centerVertical="true"/>
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="45dp"
android:hint="Change email address"
android:id="#+id/emailEditTextEditProfile"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="50dp"
android:layout_below="#id/relativeLayout2"
android:background="#drawable/white_and_grey_border_bottom"
android:id="#+id/relativeLayout3">
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:background="#drawable/ic_action_compose"
android:layout_centerVertical="true"
android:id="#+id/imageView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="45dp"
android:layout_centerVertical="true"
android:text="Click here to reset password"
android:textStyle="italic"
android:textSize="18sp"
android:id="#+id/changePassword"/>
</RelativeLayout>
</RelativeLayout>
</ScrollView>
EditPrfileFragment
public class EditProfileFragment extends Fragment implements View.OnClickListener {
private static final String TAG = "EditProfileFragment";
String password;
String passwordConfirm;
private EditText passwordEditText;
private EditText passwordConfirmEditText;
#Nullable
#Override
public View onCreateView(#NonNull LayoutInflater inflater, #Nullable ViewGroup container, #Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_edit_profile, container, false);
return view;
}
#Override
public void onClick(View v) {
}
Replace your code with below code.
<ScrollView 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">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<ImageView
android:id="#+id/profileImage"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp" />
<TextView
android:id="#+id/changeProfilePictureTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="#+id/profileImage"
android:layout_centerHorizontal="true"
android:text="Change profile picture"
android:textSize="18sp" />
<RelativeLayout
android:id="#+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_below="#id/changeProfilePictureTextView"
android:layout_marginTop="50dp"
android:background="#drawable/white_and_grey_border_bottom">
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:background="#drawable/ic_action_compose" />
<EditText
android:id="#+id/usernameEditTextEditProfile"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="45dp"
android:hint="#string/change_username"
tools:ignore="RtlCompat" />
</RelativeLayout>
<RelativeLayout
android:id="#+id/relativeLayout2"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_below="#id/relativeLayout1"
android:layout_marginTop="50dp"
android:background="#drawable/white_and_grey_border_bottom">
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:background="#drawable/ic_action_compose" />
<EditText
android:id="#+id/emailEditTextEditProfile"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="45dp"
android:hint="Change email address"
tools:ignore="RtlCompat" />
</RelativeLayout>
<RelativeLayout
android:id="#+id/relativeLayout3"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_below="#id/relativeLayout2"
android:layout_marginTop="50dp"
android:background="#drawable/white_and_grey_border_bottom">
<ImageView
android:id="#+id/imageView"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:background="#drawable/ic_action_compose" />
<TextView
android:id="#+id/changePassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="45dp"
android:text="Click here to reset password"
android:textSize="18sp"
android:textStyle="italic"
tools:ignore="RtlCompat" />
</RelativeLayout>
</RelativeLayout>
</ScrollView>

TextView text animation is restarted if the text is changed in another TextView

In TextView1 text animation runs from right to left, and in TextView2 constantly changing text. The problem is that when I perform TextView2.setText ( "...") in the text animation TextView1 restarted. Is it possible to prevent the restart of the animation?
XML code TextView1:
<TextView
android:id="#+id/artistAlbum"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:paddingTop="2dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="text text text text text text text"
android:textSize="14sp" />
Java code initialization TextView1:
final TextView textView1 = (TextView) rootView.findViewById(R.id.textView1);
textView1.setSelected(true);
XML code TextView2:
<TextView
android:id="#+id/seekSongDuration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:clickable="true"
android:paddingBottom="12dp"
android:paddingEnd="2dp"
android:paddingStart="10dp"
android:paddingTop="12dp"
android:text="0%"
android:textSize="20sp" />
XML code:
<TextView
android:id="#+id/fullSongDuration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:background="#color/background"
android:clickable="true"
android:paddingBottom="12dp"
android:paddingEnd="10dp"
android:paddingStart="2dp"
android:paddingTop="12dp"
android:text="3:15"
android:textSize="20sp" />
<org.adw.library.widgets.discreteseekbar.DiscreteSeekBar
android:id="#+id/seekDuration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignTop="#id/seekSongDuration"
android:layout_toEndOf="#id/seekSongDuration"
android:layout_toStartOf="#id/fullSongDuration"
android:paddingBottom="10dp"
android:paddingTop="10dp"
app:dsb_trackHeight="3dp" />
<com.andexert.library.RippleView
android:id="#id/butPlayPause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="#id/seekSongDuration"
android:layout_centerHorizontal="true"
android:background="#color/background"
app:rv_alpha="100"
app:rv_centered="true"
app:rv_color="#android:color/white"
app:rv_framerate="15"
app:rv_rippleDuration="300">
<ImageView
android:id="#+id/imgPlayPause"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="#drawable/ic_play_circle_outline_black_48dp" />
</com.andexert.library.RippleView>
<com.andexert.library.RippleView
android:id="#+id/butShufle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="#id/seekSongDuration"
android:layout_alignTop="#id/butPlayPause"
android:background="#color/background"
app:rv_alpha="150"
app:rv_color="#android:color/white"
app:rv_framerate="15"
app:rv_rippleDuration="300">
<ImageView
android:id="#+id/imgShufle"
android:layout_width="50dp"
android:layout_height="60dp"
android:layout_centerInParent="true"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:src="#drawable/ic_shuffle_black_36dp" />
</com.andexert.library.RippleView>
<com.andexert.library.RippleView
android:id="#+id/butPreviosSong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="#id/seekSongDuration"
android:layout_alignTop="#id/butPlayPause"
android:layout_toEndOf="#id/butShufle"
android:layout_toStartOf="#id/butPlayPause"
android:background="#color/background"
app:rv_alpha="100"
app:rv_color="#android:color/white"
app:rv_framerate="20"
app:rv_rippleDuration="300"
app:rv_type="rectangle">
<ImageView
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_centerInParent="true"
android:src="#drawable/ic_fast_rewind_black_48dp" />
</com.andexert.library.RippleView>
<com.andexert.library.RippleView
android:id="#+id/butLooping"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="#id/seekSongDuration"
android:layout_alignParentEnd="true"
android:layout_alignTop="#id/butPlayPause"
android:background="#color/background"
app:rv_alpha="150"
app:rv_color="#android:color/white"
app:rv_framerate="20"
app:rv_rippleDuration="300">
<ImageView
android:id="#+id/imgLoopReaped"
android:layout_width="50dp"
android:layout_height="60dp"
android:layout_centerInParent="true"
android:paddingLeft="7dp"
android:paddingRight="7dp"
android:src="#drawable/ic_repeat_black_36dp" />
</com.andexert.library.RippleView>
<com.andexert.library.RippleView
android:id="#+id/butNextSong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="#id/seekSongDuration"
android:layout_alignTop="#+id/butPlayPause"
android:layout_toEndOf="#id/butPlayPause"
android:layout_toStartOf="#id/butLooping"
android:background="#color/background"
app:rv_alpha="100"
app:rv_color="#android:color/white"
app:rv_framerate="20"
app:rv_rippleDuration="300"
app:rv_type="rectangle">
<ImageView
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_centerInParent="true"
android:src="#drawable/ic_fast_forward_black_48dp" />
</com.andexert.library.RippleView>
<RelativeLayout
android:id="#id/currentSongLayout"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_above="#+id/butPlayPause"
android:background="#color/backgroundCurrentTrack"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true">
<com.andexert.library.RippleView
android:id="#+id/butSettingCurrentSong"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
app:rv_alpha="100"
app:rv_centered="true"
app:rv_color="#android:color/black"
app:rv_framerate="15"
app:rv_rippleDuration="300">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="8dp"
android:src="#drawable/ic_more_circle_vert_black_36dp" />
</com.andexert.library.RippleView>
<ImageView
android:id="#+id/iconCurrentPlaylist"
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="5dp"
android:src="#drawable/ic_playlist_play_black_36dp" />
<TextView
android:id="#+id/txtNumberSongs"
android:layout_width="wrap_content"
android:layout_height="23dp"
android:layout_marginBottom="3dp"
android:layout_marginTop="3dp"
android:layout_toEndOf="#id/iconCurrentPlaylist"
android:background="#drawable/shape_ellipse"
android:paddingEnd="6dp"
android:paddingStart="6dp"
android:paddingTop="3dp"
android:text="1/1"
android:textAlignment="center"
android:textColor="#color/grayLite"
android:textSize="12sp" />
<TextView
android:id="#+id/songTitle"
android:layout_width="wrap_content"
android:layout_height="26dp"
android:layout_toEndOf="#id/txtNumberSongs"
android:layout_toStartOf="#id/butSettingCurrentSong"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:paddingLeft="5dp"
android:paddingTop="2dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="Title"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="#+id/artistAlbum"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:layout_below="#id/songTitle"
android:layout_toEndOf="#id/iconCurrentPlaylist"
android:layout_toStartOf="#id/butSettingCurrentSong"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:paddingTop="2dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="Artist - Album"
android:textSize="14sp" />
</RelativeLayout>
Java code:
private TextView songArtistAlbum;
private TextView txtSeek;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
songArtistAlbum = (TextView) rootView.findViewById(R.id.artistAlbum);
songArtistAlbum.setSelected(true);
txtSeek = (TextView) rootView.findViewById(R.id.seekSongDuration);
...
}
private DiscreteSeekBar.OnProgressChangeListener onDurationProgressChangeListener = new DiscreteSeekBar.OnProgressChangeListener() {
#Override
public void onProgressChanged(DiscreteSeekBar seekBar, int value, boolean fromUser) {
if (!fromUser) {
txtSeek.setText(Total.msecTo_MM_SS(seekBar.getProgress()));
}
}
#Override
public void onStartTrackingTouch(DiscreteSeekBar seekBar) {
}
#Override
public void onStopTrackingTouch(DiscreteSeekBar seekBar) {
txtSeek.setText(Total.msecTo_MM_SS(seekBar.getProgress()));
}
};
Thanks in advance.
Try to wrap your TextView1 with LinearLayout.
Check Activity class TextView object and its assign id.

How to set list view height programatically in android

I am making an application in which my keyboard comes up on the activity and it hides may header view (layout) I have searched and tried adjust pane state hidden,adjust nothing all the attributes in manifest but nothing solved my problem then I found one the posts over stackover flow that you can calculate the spacing then set the height I implemented but the behaviour is still same this is the sanpshot when activity comes
but when keyborad pops up it hides my header view this is snapshot of what's happening
this is my manifest code
<activity
android:name="com.dd.sproutchat.ChatActivity"
android:label="#string/app_name"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustNothing">
</activity>
this is my layout of that activity
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="#+id/main">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff">
<RelativeLayout
android:id="#+id/TopLayout"
android:layout_width="match_parent"
android:layout_height="55dp">
<ImageButton
android:id="#+id/btn_back"
android:layout_width="20dp"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:background="#drawable/back_icon_2x"
android:textColor="#000000"
android:textSize="22sp" />
<LinearLayout
android:id="#+id/Image"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:layout_toRightOf="#+id/btn_back">
<Button
android:id="#+id/recUserImg"
android:layout_width="50dp"
android:layout_height="50dp"
android:background="#drawable/image_circle_shape"
android:text=""
android:textColor="#color/white"
android:visibility="gone" />
<com.dd.sproutchat.customcontrols.MLRoundedImageView
android:id="#+id/userImg"
android:layout_width="50dp"
android:layout_height="50dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_toLeftOf="#+id/btn_Search"
android:layout_toRightOf="#+id/Image"
android:orientation="vertical">
<TextView
android:id="#+id/txtUserName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="start"
android:gravity="left"
android:singleLine="true"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#android:color/black" />
<TextView
android:id="#+id/txtOnlineStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:singleLine="true"
android:text=""
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#android:color/black" />
</LinearLayout>
<ImageButton
android:id="#+id/btn_Menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="#drawable/menu_icon_2x"
android:visibility="gone" />
<ImageButton
android:id="#+id/btn_Search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="#drawable/search_icon_2x" />
</RelativeLayout>
<RelativeLayout
android:id="#+id/Rl_line"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_below="#+id/TopLayout"
android:background="#color/chat_border"></RelativeLayout>
<RelativeLayout
android:id="#+id/Rl_Options"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_below="#+id/Rl_line"
android:background="#color/chat_options_bg">
<ImageButton
android:id="#+id/btn_Home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="20dp"
android:background="#drawable/home_btn_active_2x" />
<ImageButton
android:id="#+id/btn_SproutesList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#drawable/chat_btn_2x" />
<ImageButton
android:id="#+id/btn_Note"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:background="#drawable/note_btn_2x" />
</RelativeLayout>
<RelativeLayout
android:id="#+id/Rl_line2"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_below="#+id/Rl_Options"
android:background="#color/chat_border"></RelativeLayout>
<RelativeLayout
android:id="#+id/Rl_ChatLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="#+id/Rl_MessageLayout"
android:layout_below="#+id/Rl_line2">
<!-- android:background="#drawable/chat_bg_2x" -->
<RelativeLayout
android:id="#+id/Btn_Chats"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:orientation="horizontal"
android:weightSum="4">
<RelativeLayout
android:id="#+id/count"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone">
<ImageButton
android:id="#+id/btn_Sortby"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:background="#drawable/icon_sortby_sprout_2x" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_toLeftOf="#+id/btn_AddSprout"
android:layout_toRightOf="#+id/btn_Sortby"
android:weightSum="2">
<Button
android:id="#+id/btn_AllSprouts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#drawable/btn_blue"
android:paddingBottom="3dp"
android:paddingLeft="25dp"
android:paddingRight="25dp"
android:paddingTop="3dp"
android:text="#string/AllSprouts"
android:textColor="#color/white" />
<Button
android:id="#+id/btn_AllFavorites"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_weight="1"
android:background="#drawable/btn_blank"
android:paddingBottom="3dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="3dp"
android:text="#string/AllFavorites"
android:textColor="#color/grey_start" />
</LinearLayout>
<ImageButton
android:id="#+id/btn_AddSprout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:background="#drawable/icon_add_sprout_2x" />
</RelativeLayout>
<RelativeLayout
android:id="#+id/noteLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:visibility="gone">
<EditText
android:id="#+id/searchBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="#+id/imageButton4" />
<ImageButton
android:id="#+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toLeftOf="#+id/imageButton5"
android:background="#drawable/sort" />
<ImageButton
android:id="#+id/imageButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dp"
android:background="#drawable/add" />
</RelativeLayout>
</RelativeLayout>
<ListView
android:id="#+id/Lv_Chat"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="#id/Btn_Chats"
android:layout_above="#+id/Rl_MessageLayout"
android:divider="#null"
android:dividerHeight="0dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp"
android:scrollbars="none"
android:stackFromBottom="true"
android:transcriptMode="normal"></ListView>
<RelativeLayout
android:id="#+id/Rl_MessageLayout"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:background="#color/chat_screen_bottom">
<ImageButton
android:id="#+id/btn_Attachment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:background="#drawable/attachment_icon_white_2x" />
<EditText
android:id="#+id/edt_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_toLeftOf="#+id/btn_Send"
android:layout_toRightOf="#+id/btn_Attachment"
android:background="#drawable/txt_field"
android:imeOptions="actionDone"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:singleLine="true"
/>
<ImageButton
android:id="#+id/btn_Send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:background="#drawable/icon_send_white_2x" />
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
and this is my activity code for calculating height of listview
private static boolean keyboardHidden = true;
private static int reduceHeight =0;
final View decorView = this.getWindow().getDecorView();
decorView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
#Override
public void onGlobalLayout() {
Rect rect = new Rect();
decorView.getWindowVisibleDisplayFrame(rect);
int displayHeight = rect.bottom - rect.top;
int height = decorView.getHeight();
boolean keyboardHiddenTemp = (double) displayHeight / height > 0.8;
int mylistviewHeight = Lv_Chat.getMeasuredHeight();
if (keyboardHiddenTemp != keyboardHidden) {
keyboardHidden = keyboardHiddenTemp;
if (!keyboardHidden) {
reduceHeight = height - displayHeight;
RelativeLayout.LayoutParams mParam = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, mylistviewHeight - reduceHeight);
Lv_Chat.setLayoutParams(mParam);
Lv_Chat.requestLayout();
} else {
RelativeLayout.LayoutParams mParam = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, mylistviewHeight + reduceHeight);
Lv_Chat.setLayoutParams(mParam);
Lv_Chat.requestLayout();
}
}
}
});
I have also tried this link for setting xml file
http://codetheory.in/android-add-views-view-groups-listview-gridview/
any help please
To change the height of ListView you should use LayoutParams:
ViewGroup.LayoutParams param = listView.getLayoutParams();
param.height = anynumberhere;
listView.setLayoutParams(param);
listView.requestLayout();
According to your question, this is the way to change the ListView's height, but i don't think its the rite approach to make that header of yours stay in its place.
I think you should use adjustResize instead of adjustNothing and add android:fitsSystemWindows="true" in your root RelativeLayout instead of programmatically trying to resize your views.

Error when generating dynamic content

I'm trying to generate form elements from a template when the user clicks on a button. I created the template and the container layout for the new forms with XML. Its successfully generating the first form where I'm telling it to generate, but when I try to generate more forms beyond the first one its giving me an error: "the specified child already has a parent. You must call removeView() on the child's first parent". Any clue as to what I should do so as to generate more than one element? I've tried changing the id of the newly created forms but that's giving me a null pointer exception and crashing. Thank you.
public class MakeQuestion extends Activity implements OnClickListener{
private static final int MY_BUTTON = 9000;
int templateID = 1;
Button b;
Button target;
View insertPoint;
Button testTemplate;
View v1;
RelativeLayout.LayoutParams templateParams;
LayoutInflater vi;
#Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.make_question);
Initialize();
}
public void Initialize(){
//button for adding new forms
b = (Button) findViewById(R.id.makeLayoutButton);
b.setOnClickListener(this);
//get the template form to be duplicated
vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v1 = vi.inflate(R.layout.form_template, null);
//set the params for the element that will have dynamically generated content below it
templateParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
//container where forms will be contained in
insertPoint = findViewById(R.id.questionsContainer);
//view where new form will go below
View belowContainer = findViewById(R.id.questionTemplateFake);
//set id for layout params of view
belowContainer.setId(1);
//set rule for new forms to go below view 'belowContainer'
templateParams.addRule(RelativeLayout.BELOW, belowContainer.getId());
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.makeLayoutButton:
v1 = vi.inflate(R.layout.form_template, null);
//add view to the insertPoint
((LinearLayout) insertPoint).addView(v1);
break;
}
}
}
Added forms should go in "questionsContainer" which is set to be below "questionTemplateFake"
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android1="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#drawable/grey_background" >
<RelativeLayout
android:id="#+id/relativeLayout1"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="#8B459A"
android:baselineAligned="false"
android:clipToPadding="false" >
<ImageView
android:id="#+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="#drawable/logo_small" />
<ImageView
android:id="#+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:src="#drawable/settings" />
<ImageView
android:id="#+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:src="#drawable/search" />
</RelativeLayout>
<ScrollView
android:id="#+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="#+id/relativeLayout1" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical" >
<RelativeLayout
android:id="#+id/relative12"
android:layout_width="270dp"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="#+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="WHAT IS YOUR QUESTION?" />
<TextView
android:id="#+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="#+id/save_button"
android:layout_alignBottom="#+id/save_button"
android:layout_alignRight="#+id/textView1"
android:text="ADD PICTURE OR VIDEO"
android:textSize="10sp" />
<EditText
android:id="#+id/editText1"
android:layout_width="match_parent"
android:layout_height="25dp"
android:layout_alignParentLeft="true"
android:layout_below="#+id/textView1"
android:layout_marginTop="14dp"
android:background="#drawable/textlines"
android:ems="10"
android:hint="50 WORDS OR LESS"
android:inputType="textMultiLine"
android:paddingLeft="5dp" />
<Button
android:id="#+id/save_button"
android:layout_width="75dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_below="#+id/editText1"
android:layout_marginTop="16dp"
android:background="#drawable/purplebutton"
android:text="BROWSE"
android:textColor="#drawable/button_text_color"
android:textSize="10sp" />
<TextView
android:id="#+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="#+id/save_button"
android:layout_marginTop="25dp"
android:text="CREATE AN ANSWER" />
<RelativeLayout
android:id="#+id/questionTemplateFake"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_below="#+id/TextView01" >
<Button
android:id="#+id/Button02eew"
android:layout_width="75dp"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="#drawable/purplebutton"
android:text="BROWSE"
android:textColor="#drawable/button_text_color"
android:textSize="10sp" />
<EditText
android:id="#+id/EditText02"
android:layout_width="match_parent"
android:layout_height="25dp"
android:layout_above="#+id/Button02"
android:layout_alignParentLeft="true"
android:background="#drawable/textlines"
android:ems="10"
android:hint="50 WORDS OR LESS"
android:inputType="textMultiLine"
android:paddingLeft="5dp" >
<requestFocus />
</EditText>
<TextView
android:id="#+id/TextView03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginRight="19dp"
android:layout_toLeftOf="#+id/Button02"
android:text="ADD PICTURE OR VIDEO"
android:textSize="10sp" />
</RelativeLayout>
<LinearLayout
android:id="#+id/questionsContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="80dp"
android:layout_marginTop="20dp"
android:orientation="vertical"
android:layout_below="#+id/questionTemplateFake"
>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</ScrollView>
<Button
android:id="#+id/makeLayoutButton"
android:layout_width="100dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_below="#+id/scrollView1"
android:layout_marginRight="17dp"
android:layout_marginTop="79dp"
android:background="#drawable/purplebutton"
android:text="MORE OPTIONS"
android:textColor="#drawable/button_text_color"
android:textSize="10sp" />
</RelativeLayout>
You are trying to add the same instance over and over again. Thus the message that "specific child already exists". You would have to create a new template layout instance with different ID (I suppose) and then try to add it in.
So rather than:
((RelativeLayout) insertPoint).addView(v1, templateParams);
and adding v1 again. Create a new instance
v1 = vi.inflate(R.layout.form_template, null);
set the id for good measures and then add it again in view.
I suppose you don't need to set the id, but you can read more about how id's work here

list activity onListItemClick does not firing

I nedd to click on items in list activity to do something, but its not working
i search for this problem and saw some answers about this such as :
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
or
android:descendantFocusability="afterDescendants"
android:descendantFocusability="beforeDescendants"
android:descendantFocusability="blocksDescendants"
but those are not worked
this is my listActivity :
public class TrainListActivity extends SherlockListActivity
{
public static String varStart = "com.example.traininfo.startcity";
public static String varDestination = "com.example.traininfo.destinationcity";
private String start;
private String destination;
ArrayList<TrainType> trains;
#Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_trainlist);
Log.i("SearchTrain", "try to get extras...");
start = getIntent().getExtras().getString(varStart);
destination = getIntent().getExtras().getString(varDestination);
TrainController tc = new TrainController(this);
trains = new ArrayList<TrainType>();
trains = tc.getTrainList(start, destination).getTrain();
Log.i("SearchTrain", "got the train list...");
TrainListAdapter adapter = new TrainListAdapter(this, trains);
Log.i("SearchTrain", "adapter initialized successfully!!");
setListAdapter(adapter);
}
#Override
protected void onListItemClick(ListView l, View v, int position, long id)
{
// I want to do something here :(
super.onListItemClick(l, v, position, id);
Log.i("trainList", "on click");
}
}
row xml file :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#27ae60"
android:paddingBottom="5dp"
android:focusable="true"
android:focusableInTouchMode="true"
android:clickable="true" >
<TextView
android:id="#+id/tvTrainName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:gravity="center"
android:text="#string/resultTrainName"
android:textColor="#android:color/white"
android:textSize="20sp"
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
android:textStyle="bold" />
<TextView
android:id="#+id/tvStartLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="#id/tvTrainName"
android:gravity="right"
android:text="#string/resultTimeOut"
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
android:textColor="#android:color/white"
android:textSize="15sp" />
<TextView
android:id="#+id/tvTimeOut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="#id/tvTrainName"
android:layout_marginRight="30sp"
android:layout_toLeftOf="#id/tvStartLabel"
android:text="#string/resultTimeOutEx"
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
android:textColor="#android:color/white"
android:textSize="15sp" />
<TextView
android:id="#+id/tvFinishLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="#id/tvStartLabel"
android:gravity="right"
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
android:text="#string/resultTimeIn"
android:textColor="#android:color/white"
android:textSize="15sp" />
<TextView
android:id="#+id/tvTimeIn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="#+id/tvTimeOut"
android:layout_below="#id/tvTimeOut"
android:text="#string/resultTimeInEx"
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
android:textColor="#android:color/white"
android:textSize="15sp" />
<TextView
android:id="#+id/tvPrices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="#id/tvTimeIn"
android:gravity="right"
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
android:textColor="#android:color/white"
android:textSize="15sp" />
<ImageButton
android:id="#+id/btnMoreInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="23dp"
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
android:background="#android:color/transparent"
android:contentDescription="#string/resultMoreInfo"
android:src="#drawable/action_info" />
and ListActivity xml File :
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ListView
android:id="#android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:clickable="true"
android:descendantFocusability="afterDescendants" />
</LinearLayout>
please help me :(
Use normal activity and put a ListView in xml. Use inflator to use your custom row design. Just put the focusable=false for your imagebutton. It will allow you to click on the row and you can apply a separate click listener for your imagebutton to handle its click separately.
I faced the same problem not too long ago. It seems that the ImageButton takes focus regardless what you do. What I did was to replace the ImageButton with and ImageView and set the listener to it.
This is how your xml files should look like.
row xml file :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#27ae60"
android:paddingBottom="5dp" >
<TextView
android:id="#+id/tvTrainName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:gravity="center"
android:text="#string/resultTrainName"
android:textColor="#android:color/white"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="#+id/tvStartLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="#id/tvTrainName"
android:gravity="right"
android:text="#string/resultTimeOut"
android:textColor="#android:color/white"
android:textSize="15sp" />
<TextView
android:id="#+id/tvTimeOut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="#id/tvTrainName"
android:layout_marginRight="30sp"
android:layout_toLeftOf="#id/tvStartLabel"
android:text="#string/resultTimeOutEx"
android:textColor="#android:color/white"
android:textSize="15sp" />
<TextView
android:id="#+id/tvFinishLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="#id/tvStartLabel"
android:gravity="right"
android:text="#string/resultTimeIn"
android:textColor="#android:color/white"
android:textSize="15sp" />
<TextView
android:id="#+id/tvTimeIn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="#+id/tvTimeOut"
android:layout_below="#id/tvTimeOut"
android:text="#string/resultTimeInEx"
android:textColor="#android:color/white"
android:textSize="15sp" />
<TextView
android:id="#+id/tvPrices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="#id/tvTimeIn"
android:gravity="right"
android:textColor="#android:color/white"
android:textSize="15sp" />
<ImageView
android:id="#+id/btnMoreInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="23dp"
android:background="#android:color/transparent"
android:contentDescription="#string/resultMoreInfo"
android:src="#drawable/action_info" />
Activity xml.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ListView
android:id="#android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"/>
</LinearLayout>

Categories