Я получаю сообщение об ошибке java.lang.IllegalArgumentException: нет представления для идентификатора 0x7f0a012c - PullRequest
0 голосов
/ 06 июля 2019

Я пытаюсь создать диалог, который содержит вкладки с фрагментами. Диалог (locationViewDialog) устанавливается в методе onCreate основного действия, где я вызываю метод setUpViewPager, который присоединяет адаптер к viewPager. Когда я вызываю метод show из диалогового окна, приложение вылетает из журнала, который я написал в заголовке.

    public class MainActivity extends AppCompatActivity {

    private Dialog logOutDialog;
    private Dialog settingsDialog;
    private Dialog addItemDialog;
    private Dialog locationViewDialog;
    private ImageButton btnExit;
    private Fragment settingsFragment = null;
    private Fragment tabInfoFragment;
    private Fragment tabCommentsFragment;
    private SectionsPageAdapter mSectionPageAdapter;

    private TabLayout tabLayout;
    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //should call from SignIn Activity
    DomainController.setUser("u","p");
    //configure toolbar
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

    addItemDialog = new Dialog(this);
    addItemDialog.setContentView(R.layout.dialog_add_item);

    mSectionPageAdapter = new 
    SectionsPageAdapter(getSupportFragmentManager());

    locationViewDialog = new Dialog(this);
    locationViewDialog.setContentView(R.layout.dialog_location_view);

    tabLayout = locationViewDialog.findViewById(R.id.tabsLocation);
    viewPager = locationViewDialog.findViewById(R.id.viewPagerLocation);

    setUpViewPager(viewPager);
    tabLayout.setupWithViewPager(viewPager);
    }

Метод setUpViewPager:

    public void setUpViewPager(ViewPager viewPager)
    {
    SectionsPageAdapter adapter = new 
    SectionsPageAdapter(getSupportFragmentManager());
    tabInfoFragment = new Fragment();
    tabCommentsFragment = new Fragment();
    adapter.addFragment(tabInfoFragment,"TabInfoFragment");
    adapter.addFragment(tabCommentsFragment,"TabCommentsFragment");
    viewPager.setAdapter(adapter);
    }

Вот где я вызываю диалог:

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {


    switch (item.getItemId())
    {
        case R.id.app_bar_search:
            Log.d("MyTag","Search clicked!");
            locationViewDialog.getWindow().setBackgroundDrawable(new 
    ColorDrawable(Color.TRANSPARENT));
            locationViewDialog.show();

            break;

Класс адаптера страницы моего раздела:

public class SectionsPageAdapter extends FragmentPagerAdapter {

private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();

public void addFragment(Fragment fragment,String title)
{
    mFragmentList.add(fragment);
    mFragmentTitleList.add(title);
}

public SectionsPageAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int i) {
    return mFragmentList.get(i);
}

@Nullable
@Override
public CharSequence getPageTitle(int position) {
    return mFragmentTitleList.get(position);
}

@Override
public int getCount() {
    return mFragmentList.size();
}
}

и мой макет представления местоположения диалога:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="350dp"
    android:layout_height="600dp"
    android:layout_marginLeft="15dp"
    android:layout_marginTop="50dp"
    android:background="@drawable/add_item_window"

    >


    <android.support.v7.widget.AppCompatImageButton
        android:id="@+id/closeSignInForm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/close_box_add_item"
        android:layout_gravity="right"
        android:layout_marginTop="10dp"
        android:layout_marginRight="20dp"
        android:padding="0dp"
        android:background="#000000"
        />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:orientation="horizontal">

        <android.support.v7.widget.AppCompatImageView
            android:layout_width="match_parent"
            android:layout_height="160dp"
            android:background="#FFFFFF"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"

            />






    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="10dp"
        >

        <android.support.v7.widget.AppCompatTextView
            android:layout_marginLeft="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Name of location"
            android:textColor="@color/colorSignInText"
            android:textSize="25dp"
            />

        <ImageButton
            android:layout_marginLeft="30dp"
            android:layout_marginRight="15dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/thumb_up"
            android:scaleType="center"
            android:background="#389DB4"
            />



        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/thumb_down"
            android:scaleType="center"
            android:background="#389DB4"
            />

    </LinearLayout>

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

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="45"
            android:textSize="20dp"
            android:layout_marginLeft="240dp"
            android:textColor="#74D080"

            />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="5"
            android:textSize="20dp"
            android:layout_marginLeft="30dp"
            android:textColor="#81312D"

            />

    </LinearLayout>

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

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="?"
            android:textSize="35dp"
            android:layout_marginLeft="20dp"
            />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Some user"
            android:textSize="20dp"
            android:layout_marginLeft="10dp"
            />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Remaining time:"
            android:textSize="16dp"
            android:textColor="#81312D"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="15dp"
            />
        <android.support.v7.widget.AppCompatTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="16dp"
            android:textColor="#81312D"
            android:text="1:42:14"
            android:layout_marginTop="15dp"
            />
    </LinearLayout>


    <android.support.design.widget.TabLayout
        android:layout_marginTop="20dp"
        android:id="@+id/tabsLocation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

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

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPagerLocation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        >

    </android.support.v4.view.ViewPager>







</LinearLayout>

</ScrollView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...