ola
estou desenvolvendo uma tela onde estou colocando um grid e neste grid tem diveras linhas e cada linha representa um item do menu.
Nos meus testes em um LG P350 percebi que existe um grande tempo de resposta entre o momento que eu clico na imagem que deveria chamar uma nova activity e o tempo que de fato a activity é chamada.
Mesmo chamando uma actitivy que so mostra um Hello World o tempo de resposta é bem lento.
Se alguem tiver um exemplo de Grid legal e queira compartilhar fico muito grato.
Estou fazendo algo de errado?
Segue abaixo o codigo.
, e segue o codigo
<MENU.XML>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<GridView
android:layout_height="wrap_content"
android:id="@+id/gridView1"
android:layout_width="wrap_content"
android:numColumns="auto_fit"
android:horizontalSpacing="4dp"
android:verticalSpacing="4dp">
</GridView>
<RelativeLayout
android:id="@+id/publicidade"
android:layout_width="fill_parent"
android:layout_height="68dip"
android:gravity="bottom"
android:orientation="vertical" >
</RelativeLayout>
</LinearLayout>
para cada linha do meu grid eu estou chamando outro layout
<MenuItem.xml>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="5dp">
<ImageView
android:layout_height="80dp"
android:id="@+id/imagemmenu"
android:layout_width="80dp"
android:src="@drawable/flamengo"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true">
</ImageView>
</RelativeLayout>
public class Menu extends Activity {
/** Called when the activity is first created. */
private static int CATEGORIA_NOTICIAS =0;
private static int CATEGORIA_TITULOS =3;
private static int CATEGORIA_HISTORIA =4;
private MenuAdapter mAdapter;
private ArrayList<String> nomes;
private ArrayList<Integer> imagens;
private GridView gridView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
prepareList();
mAdapter = new MenuAdapter(this,nomes, imagens);
gridView = (GridView) findViewById(R.id.gridView1);
gridView.setAdapter(mAdapter);
gridView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
if (position == CATEGORIA_NOTICIAS){
Log.i("TodoSolucoes","Menu " + new Date());
Intent mainIntent = new Intent(getApplicationContext(),
Noticias.class);
startActivity(mainIntent);
}
else if (position == CATEGORIA_TITULOS){
Intent mainIntent = new Intent(getApplicationContext(),
Titulos.class);
startActivity(mainIntent);
}
else if (position == CATEGORIA_HISTORIA){
Intent mainIntent = new Intent(getApplicationContext(),
Historia.class);
startActivity(mainIntent);
}
}
});
}
public void prepareList()
{
nomes = new ArrayList<String>();
nomes.add("");
nomes.add("");
nomes.add("");
nomes.add("");
nomes.add("");
nomes.add("");
nomes.add("");
imagens = new ArrayList<Integer>();
imagens.add(R.drawable.noticias);
imagens.add(R.drawable.calendario);
imagens.add(R.drawable.jogadores);
imagens.add(R.drawable.classificacao);
imagens.add(R.drawable.facebook);
imagens.add(R.drawable.historia);
imagens.add(R.drawable.twitter);
}
MenuAdapter.java
public class MenuAdapter extends BaseAdapter {
private ArrayList<String> nomes;
private ArrayList<Integer> imagens;
private Activity activity;
public MenuAdapter(Activity activity, ArrayList<String> nomes,
ArrayList<Integer> imagens) {
super();
this.nomes = nomes;
this.imagens = imagens;
this.activity = activity;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return nomes.size();
}
@Override
public String getItem(int position) {
// TODO Auto-generated method stub
return nomes.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
public static class ViewHolder {
public ImageView imgViewFlag;
public TextView txtViewTitle;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder view;
LayoutInflater inflator = activity.getLayoutInflater();
if (convertView == null) {
view = new ViewHolder();
convertView = inflator.inflate(R.layout.menulink, null);
view.imgViewFlag = (ImageView) convertView
.findViewById(R.id.imagemmenu);
convertView.setTag(view);
} else {
view = (ViewHolder) convertView.getTag();
}
view.txtViewTitle.setText(nomes.get(position));
view.imgViewFlag.setImageResource(imagens.get(position));
return convertView;
}
}
Feliz Natal e um Próspero 2012
Att.
Edney Marcel Imme
[androidbrasil-dev] Problemas com GridView
17:34 |
Assinar:
Postar comentários (Atom)






0 comentários:
Postar um comentário