Новое на Android, и я пытаюсь создать приложение, которое отображает список имен, а затем справа заголовок темы справа от него, а затем третий фрагмент, который отображает сведения о это тема заголовка. Я бы хотел, чтобы все три фрагмента были посвящены моей основной деятельности. Поэтому я хочу, чтобы выглядеть следующим образом:Три фрагмента в одном активном действии
До сих пор это главный XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context=".MainActivity">
<LinearLayout
android:id="@+id/companyListFrag_LL"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
class= "name.financialnews.CompaniesListFragment"
android:id="@+id/list_companies"
android:layout_width="10dp"
android:layout_weight="20"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/list_headings"
android:layout_width="20dp"
android:layout_weight="80"
android:layout_marginLeft="20dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp" />
</LinearLayout>
<FrameLayout
android:id="@+id/detail_fragment"
android:layout_width="0dp"
android:layout_below="@id/list_headings"
android:layout_weight="1"
android:layout_height="wrap_content" />
</RelativeLayout>
Когда я запускаю это, Im в состоянии нажать на имя, чтобы получить тему заголовок на справа, и когда я нажимаю заголовок темы, ничего не отображается для фрагмента детали. Может ли кто-нибудь помочь мне выяснить, что я делаю неправильно?
Спасибо
здесь это подробно фрагмент XML:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_marginTop="30dp"
android:id="@+id/textHeading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium" />
/>
<TextView
android:id="@+id/textDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</FrameLayout>
добавил основной деятельности Java:
import android.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.Fragment;
public class MainActivity extends AppCompatActivity
implements CompaniesListFragment.OnCompaniesSelectedListener,
HeadingsListFragment.OnHeadingsSelectedListener
{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onCompanySelected(long id){
HeadingsListFragment headingsList = new HeadingsListFragment();
FragmentTransaction transaction=
getFragmentManager().beginTransaction();
headingsList.updateCompanyId(id);
transaction.replace(R.id.list_headings,headingsList);
transaction.addToBackStack(null);
transaction.setTransition(FragmentTransaction.TRANSIT_NONE);
transaction.commit();
}
@Override
public void onHeadingSelected(long id) {
Detail_Fragment items = new Detail_Fragment();
FragmentTransaction transaction=
getFragmentManager().beginTransaction();
items.updateHeadingId(id);
transaction.replace(R.id.detail_fragment, items);
transaction.addToBackStack(null);
transaction.setTransition(FragmentTransaction.TRANSIT_NONE);
transaction.commit();
}
}
благодарит за ответ. Я изменил то, что вы просили, и он все еще не показывает мне третий фрагмент внизу. Все остальное проявляется хорошо. – len
Я не могу помочь вам с этим фрагментом, потому что он не находится в макете xml. Я предполагаю, что вы добавляете фрагмент детали в макет фрейма в Java-коде. –
Я добавлю другой фрагмент на главный пост – len