Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android选项卡,列表和按钮在单击后不会滑动_Java_Android - Fatal编程技术网

Java Android选项卡,列表和按钮在单击后不会滑动

Java Android选项卡,列表和按钮在单击后不会滑动,java,android,Java,Android,第一个问题:我的标签在按下按钮后不会滑动,我必须手动点击标签。在按下按钮之前,它可以完美地滑动 第二个问题:我的列表也没有显示在我的标签上。假设每次我按下带有输入的按钮时,adpater都会向listview吐出一个值,但列表就是不显示 public class tablogger extends FragmentActivity { ViewPager Tab; TabPagerAdapter TabAdapter; ActionBar actionBar; ArrayAdapter&l

第一个问题:我的标签在按下按钮后不会滑动,我必须手动点击标签。在按下按钮之前,它可以完美地滑动

第二个问题:我的列表也没有显示在我的标签上。假设每次我按下带有输入的按钮时,adpater都会向listview吐出一个值,但列表就是不显示

public class tablogger extends FragmentActivity { 

ViewPager Tab;
TabPagerAdapter TabAdapter;
ActionBar actionBar;

ArrayAdapter<String> adapter;
ArrayList<String> list = new ArrayList<String>();
EditText benchStat;
EditText benchreps;
String benchfinals;
ListView lv;




@Override 
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tablogger);
    TabAdapter = new TabPagerAdapter(getSupportFragmentManager());



    Tab = (ViewPager)findViewById(R.id.pager);
    Tab.setOnPageChangeListener(
            new ViewPager.SimpleOnPageChangeListener() { 
                @Override 
                public void onPageSelected(int position) {
                    actionBar = getActionBar();
                    actionBar.setSelectedNavigationItem(position);                    }
            }); 
    Tab.setAdapter(TabAdapter);
    actionBar = getActionBar();
    //Enable Tabs on Action Bar 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    ActionBar.TabListener tabListener = new ActionBar.TabListener(){
        @Override 
        public void onTabReselected(android.app.ActionBar.Tab tab,
                                    FragmentTransaction ft) {
            // TODO Auto-generated method stub 
        } 
        @Override 
        public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
            Tab.setCurrentItem(tab.getPosition());
        } 
        @Override 
        public void onTabUnselected(android.app.ActionBar.Tab tab,
                                    FragmentTransaction ft) {
            // TODO Auto-generated method stub 
        }}; 
    //Add New Tab 
    actionBar.addTab(actionBar.newTab().setText("Bench").setTabListener(tabListener));
    actionBar.addTab(actionBar.newTab().setText("Squat").setTabListener(tabListener));
    actionBar.addTab(actionBar.newTab().setText("Dead").setTabListener(tabListener));



} 

public void bencircle(View view) {
    setContentView(R.layout.benchtab);
    lv.setAdapter(adapter);

    int benchmax = (int) ((100 * (Integer.parseInt(benchStat.getText().toString()))) /
            (101.3 - (2.67123 * (Integer.parseInt(benchreps.getText().toString())))));
    benchfinals = Integer.toString(benchmax);


    String input = benchfinals;
    if (input.length() > 0) {
        // add string to the adapter, not the listview 
        Toast.makeText(this, benchfinals, Toast.LENGTH_SHORT).show();
        adapter.add(input);
        adapter.notifyDataSetChanged();

        // no need to call adapter.notifyDataSetChanged(); as it is done by the adapter.add() method 

    } 
} 


public class TabPagerAdapter extends FragmentStatePagerAdapter { 

    public TabPagerAdapter(FragmentManager fm) {
        super(fm);
        // TODO Auto-generated constructor stub 
    } 
    @Override 
    public Fragment getItem(int i) {
        switch (i) {
            case 0: 
                //Fragement for Android Tab 
                return new Bench(); 
            case 1: 
                //Fragment for Ios Tab 
                return new Squat(); 
            case 2: 
                //Fragment for Windows Tab 
                return new Dead(); 
        } 
        return null; 
    } 
    @Override 
    public int getCount() { 
        // TODO Auto-generated method stub 
        return 3; //No of Tabs 
    } 
} 


public class Bench extends Fragment /* implements View.OnClickListener*/ {
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View android = inflater.inflate(R.layout.benchtab, container, false);
        ((TextView) android.findViewById(R.id.textView)).setText("");
        adapter = new ArrayAdapter<String>(this.getActivity(), R.layout.simple_expandable_list_item_1, list);
        lv = (ListView)android.findViewById(R.id.benchlist);
        //android.findViewById(R.id.framecircle).setOnClickListener(this); 


        benchStat = (EditText)android.findViewById(R.id.benchstat_id);
        benchreps = (EditText)android.findViewById(R.id.benchrepstat_id);

        return android;
    } 

    /*@Override 
    public void onClick(View v) { 

            setContentView(R.layout.benchtab); 
            lv.setAdapter(adapter); 

            int benchmax = (int) ((100 * (Integer.parseInt(benchStat.getText().toString()))) / 
                    (101.3 - (2.67123 * (Integer.parseInt(benchreps.getText().toString()))))); 
            benchfinals = Integer.toString(benchmax); 
            Toast.makeText(getActivity(), benchfinals, Toast.LENGTH_SHORT).show(); 
        return; 

    } 
    */ 

} 

public class Squat extends Fragment {
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View ios = inflater.inflate(R.layout.squattab, container, false);
        ((TextView)ios.findViewById(R.id.textView)).setText("squatter");
        return ios;
    } 
} 

public class Dead extends Fragment {
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View windows = inflater.inflate(R.layout.deadtab, container, false);
        ((TextView)windows.findViewById(R.id.textView)).setText("deadenning");
        return windows;
    } 
} 

public void finish() { 
    // Prepare data intent 
    Intent data = new Intent();
    data.putExtra("tabbenchkey", benchfinals);
    //data.putExtra("tabsquatkey", squatfinal); 
    //data.putExtra("tabdeadkey", deadfinal); 
    //data.putExtra("tabpresskey", pressfinal); 
    //data.putExtra("tabpowerkey", powerfinal); 
    // Activity finished ok, return the data 
    setResult(RESULT_OK, data);
    super.finish(); 
} 
}

您必须使用:

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</android.support.v4.view.ViewPager>

为每个选项卡提供片段,并使用片段布局提供按钮等。

首先,在fragents中不调用setContentView。我认为listview没有显示任何内容,因为列表是空的。我的选项卡在按下按钮之前滑动良好。这就是问题所在。我试过你说的话,但一点也没有影响。你还有什么建议吗?
<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</android.support.v4.view.ViewPager>