小编Sid*_*Sid的帖子

如何在不滚动android的情况下将折叠工具栏显示为折叠状态

我有一个折叠的工具栏布局。我已经在上面显示了图表。因此,如果图表中没有要显示的项目,我想将折叠工具栏布局显示为折叠、隐藏或关闭。应该只显示工具栏和标题,而不是图表。

这是视图:

在此处输入图片说明

我只想显示左侧有菜单图标的工具栏。

布局代码:

<android.support.design.widget.CoordinatorLayout 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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    tools:context="com.example.siddhi.googletaskmanager"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    android:fitsSystemWindows="true"
    android:id="@+id/parentPanel"
    android:background="@color/background">


    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="220dp"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:id="@+id/appbar"
        android:fitsSystemWindows="true">


        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:titleEnabled="false"
            app:contentScrim="?attr/colorPrimary"
            android:fitsSystemWindows="true"
            app:expandedTitleTextAppearance="@style/expandedappbar"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

                <com.github.mikephil.charting.charts.HorizontalBarChart
                    android:id="@+id/chart"
                    android:layout_width="match_parent"
                    android:layout_height="100dp"
                    android:layout_below="@+id/toolbar"
                    app:layout_collapseMode="parallax"
                    android:layout_gravity="bottom"
                    android:layout_marginBottom="40dp"/>


            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin" />

        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>


    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:paddingTop="10dp" />



        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"

            android:weightSum="1">


            <com.github.clans.fab.FloatingActionMenu
                android:id="@+id/menu1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:paddingRight="10dp"
                android:paddingBottom="10dp"
                android:paddingLeft="10dp"
                app:menu_colorNormal="@color/colorAccent"
                app:menu_colorPressed="@color/colorAccent"
                fab:menu_icon="@drawable/ic_more_horiz_white_24dp"
                fab:menu_labels_ellipsize="end"
                fab:menu_labels_singleLine="true"
                fab:menu_backgroundColor="@color/colorPrimary"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true">



                <com.github.clans.fab.FloatingActionButton
                    android:id="@+id/fab1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_list_white_24dp"
                    fab:fab_size="mini" …
Run Code Online (Sandbox Code Playgroud)

layout android android-collapsingtoolbarlayout

3
推荐指数
1
解决办法
6698
查看次数

如何更改TextInputEditText的底线颜色和提示颜色?

我正在使用TextInputLayout和TetInputEditText来获取浮动提示.现在我想更改编辑文本的提示和底线的颜色.我想让用户点击编辑文本时进行更改.

所以我尝试更改编辑文本的onClickListener颜色.但我没有发现颜色有任何变化.

xml布局:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/white"
    android:orientation="vertical">


    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_item_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_marginTop="20dp"
            android:paddingTop="05dp">
        <android.support.design.widget.TextInputEditText
            android:layout_width="240dp"
            android:layout_height="45dp"
            android:id="@+id/editTextItemName"
            android:layout_gravity="center_horizontal"
            android:hint="@string/item_name"
            android:textSize="12sp" />
        </android.support.design.widget.TextInputLayout>
    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

java代码:

      public void setUpUI(){

        edt_Item_Name = (TextInputEditText) findViewById(R.id.editTextItemName);
        edt_Item_quantity = (TextInputEditText)findViewById(R.id.editTextItemQuantity);
        edt_Item_Unit = (TextInputEditText)findViewById(R.id.editTextItemUnit);

        textInput_Item_name = (TextInputLayout)findViewById(R.id.input_layout_item_name);
        textInput_Item_quantity = (TextInputLayout)findViewById(R.id.input_layout_item_quantity);
        textInput_Item_Unit = (TextInputLayout)findViewById(R.id.input_layout_item_unit);

        edt_Item_Name.getBackground().mutate().setColorFilter(ContextCompat.getColor(this, R.color.edtColor), PorterDuff.Mode.SRC_ATOP);

        edt_Item_Name.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                edt_Item_Name.setHintTextColor(ContextCompat.getColor(SearchActivity.this, R.color.edtColor));
                edt_Item_Name.getBackground().mutate().setColorFilter(ContextCompat.getColor(SearchActivity.this, R.color.edtColor), PorterDuff.Mode.SRC_ATOP);
            }
        });
    }

}
Run Code Online (Sandbox Code Playgroud)

输出: 在此输入图像描述

我怎样才能做到这一点?

java android colors android-textinputlayout android-textinputedittext

3
推荐指数
1
解决办法
5390
查看次数

无法在某些片段上隐藏活动的选项菜单

我在活动中使用选项菜单,因为我已经膨胀了菜单,并且菜单项的onItemSelected已经完成。在片段中,我隐藏了不需要在片段上显示的菜单项。

这做得很好,我可以在片段上看到所需的菜单项。但是在某些片段上,我不想显示任何菜单项。因此,为此,我尝试清除菜单,也尝试对所有项目设置setVisible false,也尝试设置setHasOptionsMenu(false);。,但是没有任何效果。我可以看到该片段上的所有三个菜单项。

我也试过这个答案:隐藏/显示操作栏选项菜单项的不同片段

从onPreparedOptionsMenu中的Search商人片段中,我执行了menu.setGroupVisible(R.id.main_menu_group,false);。

还是行不通。

菜单

    <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <group
        android:id="@+id/main_menu_group">
    <item
        android:id="@+id/action_search"
        android:orderInCategory="100"
        android:title="customer"
        app:showAsAction="always"
        android:icon="@drawable/ic_search"/>
    <item
        android:id="@+id/action_create"
        android:orderInCategory="100"
        android:title="customer"
        app:showAsAction="always"
        android:icon="@drawable/ic_create"/>
    <item
        android:id="@+id/action_edit"
        android:orderInCategory="100"
        android:title="customer"
        app:showAsAction="always"
        android:icon="@drawable/ic_save"/>
    </group>
</menu>
Run Code Online (Sandbox Code Playgroud)

家庭活动:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);

    //     menu.clear();
    getMenuInflater().inflate(R.menu.menu_customer, menu);

    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
        case R.id.action_create:

            String favMerchantId = pref.getString("favMerchantId","");
            String favKiranaName = pref.getString("favKiranaName","");

            if(pref.getString("favMerchantId","").equals("null") && pref.getString("favKiranaName","").equals("null")){

                CommonUtils.showAlert(HomeActivity.this,"There is no merchant yet.Please search for merchant.","No …
Run Code Online (Sandbox Code Playgroud)

java android show-hide android-fragments android-optionsmenu

3
推荐指数
1
解决办法
1445
查看次数

java.lang.IllegalStateException:您需要在此活动中使用 Theme.AppCompat 主题(或后代)

我正在尝试在删除按钮上使用警报对话框。但是显示对话框显示异常。当我单击删除时,它会崩溃并在 .show 上显示异常。

我尝试为此活动使用 Theme.AppCompat 主题,但它仍然崩溃。

   <activity android:name=".AddEventActivity"
        android:theme="@style/Theme.AppCompat">
    </activity>


        delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                new AlertDialog.Builder(getApplicationContext())
                        .setTitle("Delete entry")
                        .setMessage("Are you sure you want to delete this entry?")
                        .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {

                                Toast.makeText(getApplicationContext(), "Yaay", Toast.LENGTH_SHORT).show();
                                i = new Intent();
                                db.deleteEvent(eventData);
                                Log.i("d", "delete");
                                setResult(RESULT_OK, i);
                                finish();

                                // continue with delete
                            }
                        })
                        .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                // do nothing
                            }
                        })
                        .setIcon(android.R.drawable.ic_dialog_alert)
                        .show(); …
Run Code Online (Sandbox Code Playgroud)

java android android-appcompat android-theme illegalstateexception

2
推荐指数
1
解决办法
833
查看次数

如何从适配器访问arrayList到活动?

我在适配器中创建了一个方法.在这种方法中,我有一个arraylist.我想在一个活动中访问这个arrayList.我怎样才能做到这一点?

适配器:

   public class InviteAdapter extends RecyclerView.Adapter<InviteAdapter.MyViewHolder> {

    private ArrayList<Contact> contactArrayList;
    private Context mContext;

    public class MyViewHolder extends RecyclerView.ViewHolder {
        public TextView name;
        private CheckBox checkBox;

        public MyViewHolder(View view) {
            super(view);
            name = (TextView) view.findViewById(R.id.textContactName);
            checkBox = (CheckBox) view.findViewById(R.id.checkBox);

        }
    }

    public InviteAdapter(Context context, ArrayList<Contact> contactArrayList) {
        this.contactArrayList = contactArrayList;
        this.mContext = context;

    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.invite_contact_item, parent, false);

        return new MyViewHolder(itemView);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) …
Run Code Online (Sandbox Code Playgroud)

java android arraylist adapter android-activity

2
推荐指数
1
解决办法
4314
查看次数

如果app在后台,如何使用fcm从服务器发送数据?

我从服务器向我的应用程序发送fcm通知.

我从服务器发送包含user_id的数据.如果应用程序位于前台,我将在FirebaseMessageService类中获取此userId.但是,当应用程序处于后台时,不会得到它.由于FirebaseMessagingService类仅在应用程序位于前台时才会执行.

那么当应用程序处于后台时,如何获得此ID?

    public class MyFirebaseMessagingService extends FirebaseMessagingService {

    private static final String TAG = "MyFirebaseMsgService";
    private String mUserId;
    private Boolean mUpdateNotification;

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        //Displaying data in log
        //It is optional
        Log.d(TAG, "From: " + remoteMessage.getFrom());
        Log.d(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody());

        String clickAction = remoteMessage.getNotification().getClickAction();

        mUserId = remoteMessage.getData().get("user_id");

        String title = remoteMessage.getNotification().getTitle();

        //Calling method to generate notification
        sendNotification(remoteMessage.getNotification().getBody(),clickAction,title);
    }

    //This method is only generating push notification
    //It is same as we did in earlier …
Run Code Online (Sandbox Code Playgroud)

java android background firebase firebase-cloud-messaging

1
推荐指数
1
解决办法
5876
查看次数

如何从片段访问活动的图像视图?

我有一个带有工具栏的活动,在该工具栏中,我添加了一个图像视图并在其中设置了徽标。

我还创建了不同的片段,现在当我看到片段时,我想隐藏该图像视图并将标题设置为活动的工具栏。

我已经将图像视图和工具栏设置为家庭活动中的public static。

我试图像这样访问工具栏:

 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment

        View view = inflater.inflate(R.layout.fragment_account, container, false);

        final Toolbar toolbar = (Toolbar) ((HomeActivity) getActivity()).findViewById(R.id.toolbar);
        toolbar.setTitle(R.string.menu_account);
        ((HomeActivity) getActivity()).setSupportActionBar(toolbar);

       ((HomeActivity) getActivity()).mLogo.setVisibility(View.GONE);


        return view;
    }
Run Code Online (Sandbox Code Playgroud)

但是我在图像视图上得到了一个空指针,如果注释了setVisibility(View.GONE),则可以在工具栏上看到图像。

家庭活动

public class HomeActivity extends AppCompatActivity{

    public static Toolbar toolbar;
    public static ImageView mLogo;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        mLogo = (ImageView)findViewById(R.id.imageViewLogo);

        FragmentManager fragmentManager = HomeActivity.this.getFragmentManager();
        MainFragment fragment …
Run Code Online (Sandbox Code Playgroud)

java android android-imageview android-fragments android-toolbar

1
推荐指数
1
解决办法
1840
查看次数

使用 picasso 从 url 获取图像

我想从 url 加载图像并将其保存在 sd 卡中的文件中,然后从文件加载并显示在图像视图中。

所以我正在尝试使用毕加索加载图像。但它没有显示在图像视图上。

这是网址:

http://xesoftwares.co.in/contactsapi/profile_images/d34b638b93773140eb94d5f03c20237c.jpg

使用毕加索加载图像。

Picasso.with(MainActivity.this).load(url).into(profileImage);
Run Code Online (Sandbox Code Playgroud)

如何从url下载图片。将其保存在 sd 卡中的文件中,然后从文件中加载图像以显示在图像视图中?

请帮忙。谢谢..

url android image picasso

0
推荐指数
1
解决办法
5586
查看次数

如何在下一个片段按下后在片段中显示列表?

我有MyTrips fragment其中包含ViewPager. 所以它包含两个选项卡,即两个片段,一个是ScheduleListFrgment,另一个是TripHistoryFragment

现在,当我MyTrips fragment首先替换它显示ScheduleListFragment,从服务器加载数据并显示在列表中时,它还从服务器加载 tripHistory 的数据。

所以现在我已经给了列表项的 click 事件,ScheduleListFragment所以onClick它替换ScheduleListFragmentPostDetailsFragment.

现在,在我按下后,PostDetailsFragment它显示为空ScheduleListFragment,没有列表。

我想在用户从 from 按下时显示列表PostDetailsFragment

ScheduleListFragment

public class ScheduledTravelFragment extends Fragment implements GetScheduledTripsAsyncTask.GetScheduleTripsCallBack{

    public RecyclerView mRecyclerView_list;
    private ArrayList<Trips> mTripsList;
    private ScheduledTravelAdapter mTripsAdapter;
    public TextView mTextViewData;
    private String mDateTime;
    private SessionData sessionData;

    private RelativeLayout parentLayout;

    public ScheduledTravelFragment() {
        // Required empty public constructor
    }


    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

java android arraylist android-fragments onbackpressed

0
推荐指数
1
解决办法
418
查看次数

如何先关闭抽屉然后调用onBackPressed?

我有一个抽屉布局的活动。

我想检查抽屉是否关闭然后调用onBackPressed. 如果抽屉是打开的,它应该先关闭然后onBackPressed应该被调用。

我尝试使用 addDrawerListener 这样做

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        setUpUI();

        listeners(
    }

    public void setUpUI() {
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        //Initializing NavigationView
        navigationView = (NavigationView) findViewById(R.id.navigation_view);

        drawerLayout = (DrawerLayout) findViewById(R.id.drawer);
    }

    public void listeners() 
        drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
            @Override
            public void onDrawerSlide(View drawerView, float slideOffset) {

            }

            @Override
            public void onDrawerOpened(View drawerView) {

            }

            @Override
            public void onDrawerClosed(View drawerView) {
                onBackPressed();
            }

            @Override
            public void …
Run Code Online (Sandbox Code Playgroud)

java android drawerlayout

0
推荐指数
1
解决办法
443
查看次数