本文介绍了如何通过gridview onitemclick启动新活动?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在gridview中的itemclick列表器上打开新活动.就像这样.单击位置1(印度)->打开活动1.单击位置2(巴西)->打开活动2.单击位置3(加拿大)->打开活动3.怎么可能呢?这是我的代码.

i want to open new activity on itemclick listner in gridview.like this.Click position 1(india) ->open activity 1.Click position 2(brazil)->open activity 2.Click position 3(canada)->open activity 3.how to possible it?This is my code.

   android.widget.AdapterView.OnItemClickListener;
public class GridViewExampleActivity extends Activity {
 /** Called when the activity is first created. */

private GridviewAdapter mAdapter;
private ArrayList<String> listCountry;
private ArrayList<Integer> listFlag;

private GridView gridView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    prepareList();

    // prepared arraylist and passed it to the Adapter class
    mAdapter = new GridviewAdapter(this,listCountry, listFlag);

    // Set custom adapter to gridview
    gridView = (GridView) findViewById(R.id.gridView1);
    gridView.setAdapter(mAdapter);

    // Implement On Item click listener
    gridView.setOnItemClickListener(new OnItemClickListener()
    {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                long arg3) {
            Toast.makeText(GridViewExampleActivity.this, mAdapter.getItem(position), Toast.LENGTH_SHORT).show();
        }
    });

}

public void prepareList()
{
      listCountry = new ArrayList<String>();

      listCountry.add("india");
      listCountry.add("Brazil");
      listCountry.add("Canada");
      listCountry.add("China");


      listFlag = new ArrayList<Integer>();

      listFlag.add(R.drawable.india);
      listFlag.add(R.drawable.brazil);
      listFlag.add(R.drawable.canada);
      listFlag.add(R.drawable.china);



}
}

谢谢!!

推荐答案

您可以基于位置使用意图打开活动

You can open activity using intent based on position

 gridView.setOnItemClickListener(new OnItemClickListener()
            {
                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                                        long arg3) {
                    if(position==1) {
                        Intent intent = new Intent(GridViewExampleActivity.this, IndiaActivity.class);
                        startActivity(intent);
                    }
                    else if(position==2)
                    {
                        Intent intent = new Intent(GridViewExampleActivity.this, BrazilActivity.class);
                        startActivity(intent);

                    }
                    Toast.makeText(GridViewExampleActivity.this, mAdapter.getItem(position), Toast.LENGTH_SHORT).show();
                }
            });

这篇关于如何通过gridview onitemclick启动新活动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-30 12:03