кнопки не имеют фокуса - PullRequest
0 голосов
/ 27 ноября 2018

ребята, когда я раздуваю свою Политику конфиденциальности на таких устройствах, как Amazon Firestick, она не будет выбирать ни одну кнопку с помощью пульта дистанционного управления.Я думаю, это потому, что мой навигационный ящик, который стоит за этим видом, имеет фокус.как я могу удалить фокус с этого вида, пока не будет нажата кнопка подтверждения в моей политике конфиденциальности?таким образом, я могу просто добавить NextfocusLeft и прямо в файл XML.

Политика конфиденциальности Xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/splash_background">

<TextView
    android:layout_marginTop="100sp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:maxLines="1"
    android:text="P9p Studios privacy policy"
    android:textStyle="bold|italic"
    android:textColor="@color/buttontext_light"/>

<TextView
    android:id="@+id/privacy_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="20sp"
    android:layout_marginTop="20dp"
    android:scrollbars="vertical"
    android:textColor="@color/buttontext_light"
    android:text="@string/Privacy_Text" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:orientation="horizontal">

    <Button
        android:id="@+id/accept"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button"
        android:layout_marginRight="10sp"
        android:text="accept"
        android:nextFocusRight="@id/decline"
        />

    <Button
        android:id="@+id/decline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button"
        android:text="decline"  />
</LinearLayout>

Мой Nav Drawer и панель инструментов

 private void initToolbar() {
    toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    ActionBar actionbar = getSupportActionBar();
    actionbar.setDisplayHomeAsUpEnabled(true);
    actionbar.setHomeAsUpIndicator(R.drawable.ic_menu_orange);
}

private void initNavDrawer() {
    drawerLayout = findViewById(R.id.drawer_layout);
    NavigationView navigationView = findViewById(R.id.navigation_view);

    setNavigationViewWidth(navigationView);

    navigationView.setNavigationItemSelectedListener(
            menuItem -> {
                menuItem.setChecked(true);
                selectedMenuItem = menuItem;

                drawerLayout.closeDrawers();

                if(menuItem.getItemId() == R.id.nav_add) {
                    Intent intent = new Intent(this, Add_Genre.class);
                    startActivity(intent);
                } else if(menuItem.getItemId() == R.id.nav_report) {
                    Intent intent = new Intent(this, Report.class);
                    startActivity(intent);
                }

Код первого запуска, которыйотображает мою политику конфиденциальности

public void checkFirstRun() {

    final String PREFS_NAME = "MyPrefsFile";
    final String PREF_VERSION_CODE_KEY = "version_code";
    final int DOESNT_EXIST = -1;

    // Get current version code
    int currentVersionCode = BuildConfig.VERSION_CODE;

    // Get saved version code
    SharedPreferences prefs = c.getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
    int savedVersionCode = prefs.getInt(PREF_VERSION_CODE_KEY, DOESNT_EXIST);

    // Check for first run or upgrade
    if (currentVersionCode == savedVersionCode) {
        // This is just a normal run

        return;

    } else if (savedVersionCode == DOESNT_EXIST) {
        db = FirebaseDatabase.getInstance();
        dbref = db.getReference().child(p9p_strings.APPNAME).child("User_Count").child("Newusers");
        App_DownLoadCounter();
        Button btn1;
        View view;
        LayoutInflater inflater = (LayoutInflater) c.getSystemService
                (Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(R.layout.privacy_fragment, null);

        view.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        final RelativeLayout comp = rootview. findViewById(R.id.priv_layout_holder);
       Button btn0,btn;
        btn = view.findViewById(R.id.accept);
        btn.setOnClickListener(v -> comp.removeView(view));
        btn0 = view.findViewById(R.id.decline);
        btn0.setOnClickListener(v -> {
            comp.removeView(view);

            Intent intent = new Intent(Intent.ACTION_DELETE);
            intent.setData(Uri.parse("my package name:"));
            c.startActivity(intent);
            System.exit(0);
        });
        comp.addView(view);

        // TODO This is a new install (or the user cleared the shared preferences)

    }

Вызывается в моей MAin активности onstart () с использованием

 First_Run first_run = new First_Run(MainActivity.this,rlt);
    first_run.checkFirstRun();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...