Я пытаюсь изменить оттенок оттягиваемой кнопки при нажатии кнопки на цвет, который я хочу, невозможно изменить при нажатии, пожалуйста, помогите. Я хочу, чтобы это была кнопка, а не ImageButton.
здесь ниже я буду публиковать коды, которые я , используя макет вкладки , где две вкладки являются односторонними и возвращают фрагменты. У меня проблема в одном фрагменте . где при выборе типа из (экономика, бизнес и первый класс) мне нужно , когда я выбираю на кнопку экономии, нарисованная кнопка экономии должна смениться на нужный мне цвет.
1) Домашняя страница
2) HomeAdapter
3) OneWayFragment
4) ReturnFragment
здесь ниже приведена кодировка файлов, которые я использовал
HomePage. java
package com.example.gomerry.Home_Page;
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.widget.Adapter;
import android.widget.TextView;
import androidx.viewpager.widget.ViewPager;
import com.example.gomerry.Menu;
import com.example.gomerry.R;
import com.google.android.material.tabs.TabLayout;
public class HomePage extends Menu {
TextView date;
TextView month;
TextView dayofWeek,day;
DatePickerDialog datePickerDialog1;
DatePickerDialog datePickerDialog2;
Adapter adapter;
TabLayout tabLayout;
ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home_page);
tabLayout=(TabLayout)findViewById(R.id.tabLayout);
viewPager=(ViewPager)findViewById(R.id.viewPager);
tabLayout.addTab(tabLayout.newTab().setText("One Way"));
tabLayout.addTab(tabLayout.newTab().setText("Return"));
// tabLayout.addTab(tabLayout.newTab().setText("Movie"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
final HomeAdapter adapter = new HomeAdapter(this,getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
}//end of code
Это HomeAdapter. java
package com.example.gomerry.Home_Page;
import android.content.Context;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import com.example.gomerry.CancelBooking.CancellationFragment;
import com.example.gomerry.CancelBooking.ChargesFragment;
public class HomeAdapter extends FragmentPagerAdapter {
private Context myContext;
int totalTabs;
public HomeAdapter(Context context, FragmentManager fm, int totalTabs) {
super(fm);
myContext = context;
this.totalTabs = totalTabs;
}
// this is for fragment tabs
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
OneWayFragment oneWayFragment = new OneWayFragment();
return oneWayFragment;
case 1:
ReturnFragment returnFragment = new ReturnFragment();
return returnFragment;
default:
return null;
}
}
// this counts total number of tabs
@Override
public int getCount() {
return totalTabs;
}
}//end of code
Это фрагмент OneWay. java
package com.example.gomerry.Home_Page;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import com.example.gomerry.R;
public class OneWayFragment extends Fragment {
Button economy;
public OneWayFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
// return inflater.inflate(R.layout.one_way_fragment, container, false);
Log.d("link_fly",Data_URL);
final View view = inflater.inflate(R.layout.one_way_fragment, container, false);
economy =(Button) view.findViewById(R.id.button11);
economy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
economy.setTextColor(R.color.cyan92a6);
ImageButton button = (ImageButton) this.findViewById(R.id.button_i_want_to_modify);
economy.setColorFilter(Color.argb(255, 255, 255, 255)); // White Tint
economy.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.cyanBcD4), PorterDuff.Mode.MULTIPLY);
economy.setCompoundDrawableTintMode();
binding.myButton.compoundDrawables.first().setTint(Color.RED);
view.economy.compoundDrawables.first().setTint(Color.RED);
economy.compoundDrawables.first().setTint(Color.RED);
economy.getBackground().setColorFilter();
}
});
return view;
}
}//end of code
это кнопка xml
это изображение кодов, которые я пробовал, и я получаю ошибки, которые не работают, и я не пробовал все сразу i я пытаюсь один за другим в этом изображении я раскомментировал все, чтобы показать, что они показывают ошибки.
Я надеюсь, что это четкое объяснение кода :) и проблема я иметь. пожалуйста, помогите мне решить эту ошибку. Заранее спасибо