Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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
Android 在选项卡布局中添加gridview_Android_Eclipse_Android Gridview - Fatal编程技术网

Android 在选项卡布局中添加gridview

Android 在选项卡布局中添加gridview,android,eclipse,android-gridview,Android,Eclipse,Android Gridview,我想在我当前项目的选项卡布局中添加gridview布局有什么方法可以添加它,或者用我当前的代码将其放大 这是我当前的mainactivity.java: package id.WKKR.ktcafe; import tabs.SlidingTabLayout; import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.sup

我想在我当前项目的选项卡布局中添加gridview布局有什么方法可以添加它,或者用我当前的代码将其放大

这是我当前的mainactivity.java:

package id.WKKR.ktcafe;

import tabs.SlidingTabLayout;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridView;
import android.widget.TextView;
import android.widget.Toast;
import android.support.v7.widget.Toolbar;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ImageSpan;

@
SuppressWarnings("deprecation")
public class MenuUtama extends ActionBarActivity {

  GridView myGridView;
  Toolbar toolbar;
  private ViewPager mPager;
  private SlidingTabLayout mTabs;@
  Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_menu_utama);

    toolbar = (Toolbar) findViewById(R.id.app_bar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setHomeButtonEnabled(true);
    NavDrawerFragment drawerFragment = (NavDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
    drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), toolbar);

    mPager = (ViewPager) findViewById(R.id.MyPager);
    mPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));

    mTabs = (SlidingTabLayout) findViewById(R.id.MyTabs);
    mTabs.setDistributeEvenly(true);
    mTabs.setCustomTabView(R.layout.custom_tab_view, R.id.tabsText);
    mTabs.setBackgroundColor(getResources().getColor(R.color.orange));
    mTabs.setSelectedIndicatorColors(getResources().getColor(R.color.brown));

    mTabs.setViewPager(mPager);

  }

  @
  Override
  public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_utama, menu);
    return true;
  }

  @
  Override
  public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.action_settings) {
      Toast.makeText(this, "This Is " + item.getTitle() + " Button", Toast.LENGTH_SHORT).show();
      return true;
    }

    if (id == R.id.bill) {
      startActivity(new Intent(this, BillTagihanAnda.class));
    }

    if (id == R.id.pesanan) {
      startActivity(new Intent(this, DaftarPesananAnda.class));
    }

    if (id == R.id.callwaiter) {
      startActivity(new Intent(this, PanggilPelayan.class));
      finish();
    }
    return super.onOptionsItemSelected(item);
  }

  class MyPagerAdapter extends FragmentPagerAdapter {

    int icon[] = {
      R.drawable.ic_food, R.drawable.ic_drink, R.drawable.ic_desserts
    };
    String[] tabsText = getResources().getStringArray(R.array.tabs);

    public MyPagerAdapter(FragmentManager fm) {
      super(fm);
      tabsText = getResources().getStringArray(R.array.tabs);
    }

    @
    Override
    public Fragment getItem(int position) {
      MyFragment myFragment = MyFragment.getInstance(position);
      return myFragment;
    }

    @
    Override
    public CharSequence getPageTitle(int position) {
      Drawable drawable = getResources().getDrawable(icon[position]);
      drawable.setBounds(0, 0, 40, 40);
      ImageSpan imageSpan = new ImageSpan(drawable);
      SpannableString spannableString = new SpannableString(" ");
      spannableString.setSpan(imageSpan, 0, spannableString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

      return spannableString;
    }

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

  }

  public static class MyFragment extends Fragment {
    private TextView textView;

    public static MyFragment getInstance(int position) {
      MyFragment myFragment = new MyFragment();
      Bundle args = new Bundle();
      args.putInt("position", position);
      myFragment.setArguments(args);
      return myFragment;
    }

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

      View layout = inflater.inflate(R.layout.my_fragment, container, false);
      textView = (TextView) layout.findViewById(R.id.position);
      Bundle bundle = getArguments();
      if (bundle != null) {
        textView.setText("The Page Selected is " + bundle.getInt("position"));
      }

      return layout;
    }
  }
}
这就是选项卡布局的样子,它膨胀文本视图,显示数组中的当前位置

谢谢所有想帮忙的人

所以我已经添加了gridview,现在我正在尝试使用image和textview来扩展gridview,我使用的适配器看起来像这样,但老实说,我不知道如何使它工作:

公共静态类MyFragment扩展了Fragment{
私有文本视图文本视图;
私有GridView myGridView;
公共静态MyFragment getInstance(int位置){
MyFragment MyFragment=新的MyFragment();
Bundle args=新Bundle();
参数putInt(“位置”,位置);
myFragment.setArguments(args);
返回myFragment;
}
@
推翻
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
视图布局=充气机。充气(R.layout.my_碎片,容器,假);
textView=(textView)layout.findViewById(R.id.position);
myGridView=(GridView)layout.findviewbyd(R.id.GridView);
Bundle=getArguments();
if(bundle!=null){
textView.setText(“所选页面为”+bundle.getInt(“位置”));
}
返回布局;
}
}
类菜单{
int-imageId=0;
字符串菜单=”;
字符串menusPrices=“”;
菜单(int imageId、字符串菜单、字符串菜单价格){
this.imageId=imageId;
这个.菜单=菜单;
this.menusPrices=menusPrices;
}
}
//为gridview内容充气的适配器
类MyCafe扩展了BaseAdapter{
ArrayList<菜单>列表;
语境;
MyCafe(上下文){
this.context=上下文;
列表=新阵列列表<菜单>();
Resources res=context.getResources();
String[]tempMenusNames=res.getStringArray(R.array.food);
String[]tempMenusPrices=res.getStringArray(R.array.foodprices);
int[]菜单图像={
R.drawable.makanana,R.drawable.makananb,
R.drawable.makananc,R.drawable.makanand,
R.drawable.makanane,R.drawable.makananf
};
对于(int i=0;i<6;i++){
菜单TempMenu=新菜单(菜单图像[i]、TempMenuNames[i],
临时价格[i];
列表。添加(临时菜单);
}
}
public int getCount(){
//TODO自动生成的方法存根
返回list.size();
}
公共对象getItem(int i){
//TODO自动生成的方法存根
返回列表。获取(i);
}
公共长getItemId(int i){
//TODO自动生成的方法存根
返回i;
}
类视图持有者{
图像查看菜单;
text查看myMenusText;
TextView MyMenusPrice;
视图支架(视图v){
myMenus=(ImageView)v.findViewById(R.id.imageView1);
myMenusText=(TextView)v.findViewById(R.id.textView1);
MyMenuPrice=(TextView)v.findViewById(R.id.textView2);
}
}
公共视图getView(int i、视图视图、视图组视图组){
//TODO自动生成的方法存根
视图行=视图;
ViewHolder=null;
if(行==null){
LayoutFlater充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
row=充气机。充气(R.layout.single_项目,视图组,false);
支架=新的视图支架(行);
row.setTag(支架);
}否则{
holder=(ViewHolder)row.getTag();
}
菜单温度=列表获取(i);
holder.myMenus.setImageResource(temp.imageId);
holder.myMenusText.setText(临时菜单);
holder.MyMenusPrice.setText(temp.menusprice);
返回行;
}
}

R.layout.my_片段中创建网格视图,并在片段中充气。

您也可以在寻呼机适配器中使用多个片段。

这是否意味着如果我在my_fragment.xml中添加gridview,我也必须对gridview进行膨胀?不,您已经在膨胀视图了。您可以通过layout.findViewById(R.id.gridview)找到gridview的引用;你能看一下我编辑过的帖子吗?现在我正试图扩大gridview的内容,但无法使其正常工作