뷰 페이저 탭에 조각 인 두 개의 목록보기가 있습니다. 목록보기에서 항목을 클릭하면 새 활동이 실행됩니다. 그러나 뒤로 가기 버튼을 눌러 탭 목록보기로 돌아 가면 목록보기가 두 배가되고 활동을 열고 다시 돌아 가면 다시 두 배로 늘리면됩니다. 또한 다섯 개의 탭이있는 다른 탭 목록보기가 있으며보기 중 하나에서 두 개의 탭을 이동할 때 표시됩니다. 내가 그 (것)들에 돌아올 때 그 전망에있는 품목은 두배이고 이것은 다른 모든 탭을 위해 동일이다. 두리스트 뷰의 코드는 동일합니다. 모든 목록 항목을 지우고보기 소유자 (else stack overflow answers)에서 "else"문으로 놀았 던 list.clear()를 시도했습니다. 그러나 매번 목록보기는 여전히 중복됩니다. 또한 당신이 이미 눈치 채지 못했다면 나는 안드로이드에 대해 꽤 새로운 사람입니다.안드로이드 : 새로운 액티비티를 시작하고 뒤로 돌아가려면 Listview 자체가 중복됩니다.
두 탭으로 구성된 활동에있는 목록보기 조각 (Due_Today_Fragment)의 코드입니다. 목록보기 항목 여기
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
import static com.bernard.beaconportal.Due_Today_Fragment.KEY_HOMEWORK;
import static com.bernard.beaconportal.Due_Today_Fragment.KEY_DESC;
public class homeworkdueDetailsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_details);
String homework = "";
String desc = "";
Intent intent = getIntent();
if (null != intent) {
homework = intent.getStringExtra(KEY_HOMEWORK);
desc = intent.getStringExtra(KEY_DESC);
}
TextView headlineTxt = (TextView) findViewById(R.id.texthomeworkdue);
headlineTxt.setText(homework);
TextView pubdateTxt = (TextView) findViewById(R.id.textdescription);
pubdateTxt.setText(desc);
}
}
는 문자열 정의 여기
import java.lang.reflect.Field;
import com.actionbarsherlock.app.SherlockFragment;
import com.astuetz.PagerSlidingTabStrip;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragments2 extends SherlockFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.viewpager_main, container, false);
// Locate the ViewPager in viewpager_main.xml
ViewPager pager = (ViewPager) view.findViewById(R.id.viewPager);
// Set the ViewPagerAdapter into ViewPager
pager.setAdapter(new ViewPagerAdapter(getChildFragmentManager()));
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) view.findViewById(R.id.pagerTabStrip);
tabs.setViewPager(pager);
return view;
}
@Override
public void onDetach() {
super.onDetach();
try {
Field childFragmentManager = Fragment.class
.getDeclaredField("mChildFragmentManager");
childFragmentManager.setAccessible(true);
childFragmentManager.set(this, null);
} catch (NoSuchFieldException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
}
인 탭 단편에 대한 코드를 클릭하면 다음
import java.util.ArrayList;
import java.util.List;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class Due_Today_Fragment extends Fragment {
private List<homeworkdue> myhomeworkdue;
static class ViewHolder {
public ImageView imageView;
public TextView HomeworkDueText;
public TextView DescriptionText;
public TextView TeacherText;
}
public static final String KEY_HOMEWORK="homework";
public static final String KEY_DESC="desc";
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.activity_main, container, false); }
@Override
public void onResume() {
// TODO Auto-generated method stub
super.onResume();
myhomeworkdue = new ArrayList<homeworkdue>();
populatehomeworkdueList();
populateListView();
registerClickCallback();
}
private void registerClickCallback() {
ListView list = (ListView)getView().findViewById(R.id.listView1);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View viewClicked, int position, long id) {
homeworkdue clickedhomeworkdue = myhomeworkdue.get(position);
Intent intent = new Intent(getActivity(), homeworkdueDetailsActivity.class);
intent.putExtra(KEY_HOMEWORK, clickedhomeworkdue.getHomeworkdue());
intent.putExtra(KEY_DESC, clickedhomeworkdue.getDesciption());
startActivity(intent);
}
});
}
private void populatehomeworkdueList() {
myhomeworkdue.add(new homeworkdue("History Homework", "Description 1", R.drawable.global_studies, "Anderson"));
myhomeworkdue.add(new homeworkdue("Math Homework", "Description 2", R.drawable.mathematics, "Klein"));
myhomeworkdue.add(new homeworkdue("English Homework", "Description 3", R.drawable.english, "Reed"));
myhomeworkdue.add(new homeworkdue("Spanish Homework", "Description 4", R.drawable.spanish, "Joya"));
myhomeworkdue.add(new homeworkdue("Science Homework", "Description 5", R.drawable.science, "Poole"));
}
private void populateListView() {
ArrayAdapter<homeworkdue> adapter = new MyListAdapter();
ListView list = (ListView)getView().findViewById(R.id.listView1);
list.setAdapter(adapter);
}
public class MyListAdapter extends ArrayAdapter<homeworkdue> {
public MyListAdapter() {
super(getActivity(), R.layout.item_view, myhomeworkdue);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView==null){
convertView = getActivity().getLayoutInflater().inflate(R.layout.item_view, parent, false);
holder = new ViewHolder();
holder.imageView = (ImageView)convertView.findViewById(R.id.item_iconclass);
holder.HomeworkDueText = (TextView) convertView.findViewById(R.id.item_texthomeworkdue);
holder.DescriptionText = (TextView) convertView.findViewById(R.id.item_textdescription);
holder.TeacherText = (TextView) convertView.findViewById(R.id.item_textteacher);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
homeworkdue currenthomeworkdue = myhomeworkdue.get(position);
holder.imageView.setImageResource(currenthomeworkdue.getIconID());
holder.HomeworkDueText.setText(currenthomeworkdue.getHomeworkdue());
holder.DescriptionText.setText(currenthomeworkdue.getDesciption());
holder.TeacherText.setText(currenthomeworkdue.getTeacher());
return convertView;
}
}
}
출시 활성에 대한 코드 숙제를 위해
public class homeworkdue {
private String homework;
private String desc;
private int IconID;
private String teacher;
public homeworkdue(String homework, String desc, int IconID, String teacher) {
super();
this.homework = homework;
this.desc = desc;
this.IconID = IconID;
this.teacher = teacher;
}
public String getHomeworkdue() {
return homework;
}
public String getDesciption() {
return desc;
}
public int getIconID() {
return IconID;
}
public String getTeacher() {
return teacher;
}
}
여기
는 문자열이 일정
public class schedule {
private String band;
public schedule(String band) {
super();
this.band = band;
}
public String Band() {
return band;
}
}
에 대해 정의 된 다섯 개 개의 탭
여기import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class Thursday extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.schedule_list_view, container, false); }
private List<schedule> myschedule = new ArrayList<schedule>();
static class ViewHolder {
public TextView HomeworkDueText;
}
public void onStart() {
super.onStart();
populatescheduleList();
populateListView();
}
private void populatescheduleList() {
myschedule.add(new schedule("E Band"));
myschedule.add(new schedule("G Band"));
myschedule.add(new schedule("F Band"));
myschedule.add(new schedule("H Band"));
myschedule.add(new schedule("A Band"));
myschedule.add(new schedule("C Band"));
myschedule.add(new schedule("D Band"));
}
private void populateListView() {
ArrayAdapter<schedule> adapter = new MyListAdapter();
ListView list = (ListView)getView().findViewById(R.id.listView2);
list.setAdapter(adapter);
}
public class MyListAdapter extends ArrayAdapter<schedule> {
public MyListAdapter() {
super(getActivity(), R.layout.item_view, myschedule);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView==null){
convertView = getActivity().getLayoutInflater().inflate(R.layout.schedule_list_item, parent, false);
holder = new ViewHolder();
holder.HomeworkDueText = (TextView) convertView.findViewById(R.id.bandText);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
schedule currenthomeworkdue = myschedule.get(position);
holder.HomeworkDueText.setText(currenthomeworkdue.Band());
return convertView;
}
}
}
인에 포함 된 단편의 코드 당신이 더 이상 정보가 필요하면 그냥 물어 당신을 감사합니다 도움을 위해 사전에
나는이 버그를 이틀 동안 고치려고 노력해 왔으며, 나는 끝내고있다.
향후 변경 될 참조 용 고정 코드 및 작동 코드가 포함되도록 변경했습니다. –