listview
アップル、バナナ、オレンジのアイテムが含まれています... 2番目の画面activity
で、アップルの特定のアイテムをクリックすると、詳細画面に移動します
ここでは、-> Appleをクリックして、出力を次のように表示する必要があります。ページをスワイプしてからバナナをスワイプすると、次のスワイプはオレンジになります。
アップル->バナナ->オレンジ
バナナをクリックすると、バナナのように表示され、アップルを左にスワイプし、右にスワイプするとオレンジになります。
したがってlistview
、2番目の画面で(バナナ)をクリックしたアイテムは、詳細画面に表示される必要があります。前のリストアイテムを左にスワイプすると、リストの次のアイテムを右にスワイプします。
バナナ->左スワイプの場合Apple->右スワイプの場合オレンジ
オレンジをクリックすると、オレンジのように表示され、バナナを左にスワイプします。次に左にスワイプすると、オレンジになります。バナナ
オレンジ->左スワイプの場合バナナ--->次の左スワイプの場合->アップル
しかし、クリックされた各アイテムのすべてのケースについて、Apple->Banana->Orangeのような出力が得られていlistview
ます...。
public class SecondScreen extends Activity {
ListView listView;
LayoutInflater lay;
MyApplication app;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.second);
app = ((MyApplication) getApplicationContext());
listView = (ListView) findViewById(R.id.yearlistss);
listView.setAdapter(new MyAdapter(SecondScreen.this,app.totalvalue));
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, final int arg2,
long arg3) {
Intent detailIntent =new Intent(SecondScreen.this, Details.class);
startActivity(detailIntent);
}
});
}
public class MyAdapter extends BaseAdapter {
Context context = null;
private ArrayList<String> temperList1;
public MyAdapter(SecondScreen secondScreen, ArrayList<String> totalvalue) {
this.temperList1 = totalvalue;
}
public int getCount() {
// TODO Auto-generated method stub
return temperList.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return temperList;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View layout = null;
TextView totalval = null;
if (convertView == null) {
lay = LayoutInflater.from(getApplicationContext());
layout = lay.inflate(R.layout.secondlist, null);
totalval = (TextView) layout.findViewById(R.id.total);
} else {
layout = convertView;
}
totalval.setText("" + temperList1.get(position));
return layout;
}
}
}
public class MyApplication extends Application {
ArrayList<String> totalvalue = new ArrayList<String>();
}
public class Details extends FragmentActivity{
MyApplication app;
ViewPager pager;
MyFragmentPagerAdapter pagerAdapter;
public static int position ;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.detail);
app = ((MyApplication) getApplicationContext());
pager = (ViewPager) findViewById(R.id.pager);
FragmentManager fm = getSupportFragmentManager();
pagerAdapter = new MyFragmentPagerAdapter(fm,app.totalvalue);
pager.setAdapter(pagerAdapter);
}
public static class MyFragmentPagerAdapter extends FragmentPagerAdapter {
private final ArrayList<String> temperList;
public MyFragmentPagerAdapter(FragmentManager fm, ArrayList<String> totalvalue ) {
super(fm);
this.temperList = totalvalue;
}
public Fragment getItem(int position) {
return ThingFragment.newInstance((temperList.get(position)));
}
@Override
public int getCount(){
return temperList.size();
}
private static class ThingFragment extends Fragment {
private String name1;
static ThingFragment newInstance(String string ) {
ThingFragment f = new ThingFragment();
Bundle args = new Bundle();
args.putString("name",string );
f.setArguments(args);
return f;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
name1 = getArguments().getString("name");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.myfragment_layout, container, false);
TextView t = (TextView)v.findViewById(R.id.prodcutt);
t.setText(""+ name1);
return v;
}
}
}
}