Как реализовать панель поиска для фрагмента? - PullRequest
0 голосов
/ 13 мая 2019

Я хотел бы реализовать панель поиска для фрагмента.У меня нет проблем, чтобы реализовать это в любой деятельности, но для моего фрагмента это не работает.Он должен показать мне число от 0 до 360.

Я пытался внедрить слушатель seekbar в fragement, но я не могу использовать findviewbyid.

Первый мой фрагмент, а вторая часть - основное занятие.

package com.example.holdingpattern;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.support.annotation.Nullable;

public class holdingfragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_holding, null);



---------------------------------------------------------------------

package com.example.holdingpattern;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.BottomNavigationView;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.widget.SeekBar;
import android.widget.TextView;


public class MainActivity extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener {
    TextView textView;
    SeekBar seekBar;
    int min = 0, max = 360, current = 360;



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

        BottomNavigationView navView = findViewById(R.id.nav_view);
        navView.setOnNavigationItemSelectedListener(this);

        loadFragment(new holdingfragment());






        textView = findViewById(R.id.textView4);
        seekBar = findViewById(R.id.seekBar2);
        seekBar.setMax(max - min);
        seekBar.setProgress(current - min);
        textView.setText("" + current);

        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                current = progress + min;
                textView.setText("" + current);

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });










    }


    private boolean loadFragment (Fragment fragment){
        if(fragment !=null){

            getSupportFragmentManager()
                    .beginTransaction()
                    .replace(R.id.fragment_container, fragment)
                    .commit();


            return true;
        }
        return false;

    }

    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
        Fragment fragment = null;

        switch (menuItem.getItemId()){

            case R.id.navigation_holding:
                fragment = new holdingfragment();
                break;

            case R.id.navigation_wind:
                fragment = new windfragment();
                break;

            case R.id.navigation_answer:
                fragment = new answerfragment();
                break;


        }
        return loadFragment(fragment);

    }
}



...