0

다음과 같은 문제가 있습니다. OverviewActivity라는 Activity를 가지고 있는데,이 Activity는 일부 ImageButton을 구현합니다. ImageButton "Profile"을 클릭하면 OverviewActivity가 "ProfileActivity_2"액티비티로 나를 안내 할 것입니다. 거기에 세 개의 Scrolltab을 구현했습니다. 코드는 다음과 같습니다.조각에 ListView 구현하는 방법

public class ProfileActivity_2 extends FragmentActivity { 

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

    ViewPager viewPager = (ViewPager) findViewById(R.id.pager); 

    FragmentManager fragmentManager = getSupportFragmentManager(); 

    viewPager.setAdapter(new AdapterTab(fragmentManager)); 
} 

public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.chat, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.action_chat: 
     Intent mailbox = new Intent(this, MailboxListActivity.class); 
     startActivity(mailbox); 
     return true; 
    } 
    return true; 
} 

public static FragmentProfile newInstance(String username) { 
    FragmentProfile f = new FragmentProfile(); 
    // Supply index input as an argument. 
    Bundle args = new Bundle(); 
    args.putString("username", username); 
    f.setArguments(args); 
    return f; 
} 

} 

class AdapterTab extends FragmentPagerAdapter { 

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

@Override 
public Fragment getItem(int i) { 

    Fragment fragment = null; 

    if (i == 0) { 
     fragment = new FragmentProfile(); 
    } 
    if (i == 1) { 
     fragment = new FragmentBorrowed(); 
    } 
    if (i == 2) { 
     fragment = new FragmentLent(); 
    } 
    return fragment; 
} 

@Override 
public int getCount() { 
    return 3; 
} 

@Override 
public CharSequence getPageTitle(int position) { 

    String title = new String(); 

    if (position == 0) { 
     return "Profil"; 
    } 
    if (position == 1) { 
     return "geliehene Bücher"; 
    } 
    if (position == 2) { 
     return "verliehene Bücher"; 
    } 
    return null; 
} 

} 

그래서 모든 것이 제대로 작동합니다. 보시다시피 나는 각각 FragmentProfile, FragmentBorrowed 및 FragmentLent라고 불리는 Fragment를 보유하는 세 개의 탭이 있습니다. 따라서 첫 번째 "화면"또는 첫 번째 탭은 FragmentProfile을 유지합니다. 두 번째 탭 (FragmentBorrowed)으로 변경하면 두 개의 탭이 더 있습니다. 코드는 다음과 같습니다.

public class FragmentBorrowed extends Fragment { 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    return inflater.inflate(R.layout.fragment_borrowed_tab2, container, 
      false); 
} 

@Override 
public void onViewCreated(View view, Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 

    TabHost tabhost = (TabHost) getView() 
      .findViewById(android.R.id.tabhost); 

    tabhost.setup(); 
    Resources res = getResources(); 

    TabSpec spec1 = tabhost.newTabSpec("tab1"); 
    spec1.setContent(R.id.tab1); 
    spec1.setIndicator(res.getString(R.string.tablabel1)); 
    tabhost.addTab(spec1); 

    TabSpec spec2 = tabhost.newTabSpec("tab2"); 
    spec2.setContent(R.id.tab2); 
    spec2.setIndicator(res.getString(R.string.tablabel2)); 
    tabhost.addTab(spec2); 

} 
} 

이제 실제 질문을 드리겠습니다. FragmentBorrowed의 두 탭에서 각각에 대해 ListView를 구현하려고합니다. 따라서 첫 번째 탭을 클릭하면 ListView가 표시되고 두 번째 탭을 클릭하면 다른 ListView가 표시됩니다. 너무 많은 것들을 시도하고, 너무 많은 자습서를 지켜본 및 조각에 ListView를 구현하는 방법을 stackoverflow의 포럼을 통해 읽을 수 있지만 내 문제에 대한 해결책을 찾을 수 없습니다. FragmentBorrowed에서 새 Activity를 호출하려고했으나 이전에 언급 한 ImageButton "Profile"을 클릭하면 Activity가 이미 시작되고 두 번째로 전환 할 때만 새 Activity를 시작하려고하므로 예상대로 작동하지 않습니다. 탭 (FragmentBorrowed).

아무도 도와 줄 수 있습니까?

PS : 나는 당신이 응용 프로그램의 일부 이미지를 보여주고 싶었다하지만, 유래를 허용하지 않았다)

답변

0

귀하의 ProfileActivity_2가 ListFragment를 확장해야합니다. 그것을 검색하거나 저에게 회신 해 주시면 몇 가지 샘플 코드가 필요합니다.

+0

먼저, 답변 해 주셔서 감사합니다. ProfileActivity_2를 ListFragment로 변경하면 OverviewActivity에서 ProfileActivity_2로 어떻게 갈 수 있습니까? 둘째, 제안한 ListFragment를 참조하는 샘플 코드를 제공해 주시겠습니까? 아마 ProfileActivity_2와 FragmentBorrowed의 코드를 사용해도 될까요? 매우 좋을거야! :) –

+0

내가 UR 질문에서 이해 한 것은 U가 세 가지 이미지 버튼으로 구성된 활동 개요 활동을 가지고 있다는 것입니다. 프로필 이미지 버튼의 클릭 이벤트에서 u는 ProfileActivity_2로 이동했습니다. 여기에서 각각 하나의 조각을 포함하는 세 개의 탭을 사용했습니다. 이제 Fragment Borrowed에서 중첩 탭, 즉 한 탭 내에 두 개의 탭이 있습니다. 지금 내가 옳다. –

+0

이제는 중첩 탭이 listviews를 포함하는 두 개의 개별 조각을 열길 원합니다. –