Я разрабатываю приложение для Android, используя представление сетки вместо списка, которое отлично работает в эмуляторе, но не работает на реальном устройстве. После установки этого приложения, у меня есть сообщение «к сожалению, приложение получило остановку»Устранение неполадок приложений Android для приложений unsupport
вот мой код для создания вида адаптера сетки
class menu
{
int menu_image;
String menu_title;
menu(int menu_image,String menu_title)
{
this.menu_image=menu_image;
this.menu_title=menu_title;
}
}
class gridAdapter extends BaseAdapter{
ArrayList<menu> list;
Context context;
gridAdapter(Context context)
{
this.context=context;
list=new ArrayList<menu>();
String[] menu_tiltes={"news","Artis","events"};
int [] menu_images={R.mipmap.ic_launcher_artist,R.mipmap.ic_launcher_artist,R.mipmap.ic_launcher_artist};
for (int i=0;i<3;i++)
{
menu tempmenu=new menu(menu_images[i],menu_tiltes[i]);
list.add(tempmenu);
}
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return i;
}
class ViewHolder
{
ImageView myMenu_image;
TextView myMenu_title;
ViewHolder(View v)
{
myMenu_image=(ImageView) v.findViewById(R.id.grid_icon_imageView);
myMenu_title= (TextView) v.findViewById(R.id.facility_textView);
}
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
View row=view;
ViewHolder holder=null;
if(row==null)
{
LayoutInflater inflater= (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row=inflater.inflate(R.layout.single_box_gridview,viewGroup,false);
holder=new ViewHolder(row);
row.setTag(holder);
}
else
{
holder= (ViewHolder) row.getTag();
}
menu temp=list.get(i);
holder.myMenu_image.setImageResource(temp.menu_image);
holder.myMenu_title.setText(temp.menu_title);
return row;
}
}
пожалуйста, помогите мне
LogCat файл
12-09 13:18:59.127 1981-1981/? I/art: Not late-enabling -Xcheck:jni (already on)
12-09 13:18:59.725 1981-2010/com.codeingene.tabdemo D/OpenGLRenderer: Render dirty regions requested: true
12-09 13:18:59.736 1981-1981/com.codeingene.tabdemo D/Atlas: Validating map...
12-09 13:18:59.936 1981-2010/com.codeingene.tabdemo I/OpenGLRenderer: Initialized EGL, version 1.4
12-09 13:19:00.010 1981-2010/com.codeingene.tabdemo D/OpenGLRenderer: Enabling debug mode 0
12-09 13:19:00.068 1981-2010/com.codeingene.tabdemo W/EGL_emulation: eglSurfaceAttrib not implemented
12-09 13:19:00.068 1981-2010/com.codeingene.tabdemo W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xa66ac540, error=EGL_SUCCESS
12-09 13:19:01.075 1981-1981/com.codeingene.tabdemo I/Choreographer: Skipped 54 frames! The application may be doing too much work on its main thread.
Я использую этот адаптер в этом фрагменте класс
public class tab1 extends Fragment {
GridView gridView;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragmanet1, container, false);
gridView = (GridView) v.findViewById(R.id.gridView_menu);
gridView.setAdapter(new gridAdapter(getContext()));
return v;
}
пришлите свой logcat –
, почему я не получаю ответ tii сейчас? –