이 질문이 다른 사람들이 예상하는 것처럼 흥미롭지 않은 경우 사전 사과드립니다. 첫째, Android Studio (버전 2.1.2)의 최신 버전에 대한 많은 답변이 없습니다. 또한 사람들이 IDE에서 제공하는 템플릿을 거의 사용하지 않는다는 것을 알았습니다 (개발 프로세스의 속도를 높이기 위해이 도구가 있다고 생각합니다).탭이있는 활동 템플릿 Android 2.1.2
탭 활동 서식 파일의 코드는 어떻게 수정합니까? 현재 IDE에서 생성 한 코드를 템플릿으로보고 있습니다. 나는 그것이 단조롭게 3 부분에 대한 단편을 포함하도록 modfiy하는 방법을 단서입니다. 필자는 코드를 넘어서서 구조와 파트가하는 일을 어느 정도 이해하지만 공식적인 문서가 사람들에게 처음부터 어떻게해야하는지와 완전히 다른 방식으로 그렇게합니다.
하나의 조각을 만들었으며 두 조각을 더 만들 수 있기를 바랍니다. 템플릿을 사용하여 탭 안에 어떻게 배치합니까?
누군가 나를 초대해 주실 수 있습니까? 또한 이와 관련하여 유용한 자료를 알려주시겠습니까?
현재 구조에서 Ok. Activity 및 기본 조각 (자리 표시 자 조각이라고 함)에 대한 코드가 .java 파일에 있음을 알 수 있습니다. onCreateView()에서 기본 조각을 호출하여 내 조각 중 하나를 기본 조각으로 대체하려고했습니다. 문제는 다른 단편을 추가하는 방법입니다. 템플릿 코드 :
된 .java 파일은
package name;
public class myUI extends AppCompatActivity {
/**
* The {@link android.support.v4.view.PagerAdapter} that will provide
* fragments for each of the sections. We use a
* {@link FragmentPagerAdapter} derivative, which will keep every
* loaded fragment in memory. If this becomes too memory intensive, it
* may be best to switch to a
* {@link android.support.v4.app.FragmentStatePagerAdapter}.
*/
private SectionsPagerAdapter mSectionsPagerAdapter;
/**
* The {@link ViewPager} that will host the section contents.
*/
private ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_UI);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// Create the adapter that will return a fragment for each of the three
// primary sections of the activity.
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_my_UI, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
/**
* The fragment argument representing the section number for this
* fragment.
*/
private static final String ARG_SECTION_NUMBER = "section_number";
public PlaceholderFragment() {
}
/**
* Returns a new instance of this fragment for the given section
* number.
*/
public static PlaceholderFragment newInstance(int sectionNumber) {
PlaceholderFragment fragment = new PlaceholderFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_my_UI, container, false);
TextView textView = (TextView) rootView.findViewById(R.id.section_label);
textView.setText(getString(R.string.section_format, getArguments().getInt(ARG_SECTION_NUMBER)));
return rootView;
}
}
/**
* A {@link FragmentPagerAdapter} that returns a fragment corresponding to
* one of the sections/tabs/pages.
*/
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
// Return a PlaceholderFragment (defined as a static inner class below).
return PlaceholderFragment.newInstance(position + 1);
}
@Override
public int getCount() {
// Show 3 total pages.
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "SECTION 1";
case 1:
return "SECTION 2";
case 2:
return "SECTION 3";
}
return null;
}
}
}
그것은 거기에 하나 개의 조각 XML 레이아웃이지만,이 트릭을 통해 그것을 복제하는 데 사용되는 것 같습니다, 나 생각이이 된 .java 파일입니다 세 개의 탭 (TextView 구성 요소 포함). 제 질문은 이것입니다. (자신의 행동으로) 내 자신의 단편을 만들었는데, 어떻게 그들을 TabbedActivity의 일부로 만들 수 있습니까? 코드의 어느 부분에 넣을 까? 또한별로 문제가되지 않으면 누군가 코드에서 실제로 무엇이 일어나는지 설명 할 수 있습니까? (단편 조각이 세 번 나타나는 영역을 의미합니까?)
활동 자체에 대한 XML 레이아웃이 아래에 나와 있습니다.
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.myProject.myProject.MyUI">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/appbar_padding_top"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme.PopupOverlay">
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
"탭 작업 서식 파일의 코드를 수정하려면 어떻게해야합니까?" 템플릿은 Android Studio 버전에 따라 다르므로 혼란스러워하는 코드를 포함하도록 질문을 편집하여 이해하지 못하는 것을 구체적으로 지적하십시오. 그런 식으로,이 질문은 당신뿐만 아니라 다른 사람들에게도 도움이 될 것입니다. 게다가,이 템플릿에 대한 코드는 암기 된 사람이 거의 없습니다. – CommonsWare
코드 샘플을 포함시키지 않았습니다! 나는 [좋은 질문을하는 법을 어떻게 읽습니까?] (http://stackoverflow.com/help/how-to-ask)를 읽는 것이 좋습니다. –
@CommonsWare 감사합니다. 코드를 붙여서 자세히 설명하겠습니다. 내 게시물을 수정하겠습니다. – user3650467