PDA

View Full Version : هدایت گریت ویو به اکتیویتی



Apriliyaa
جمعه 17 بهمن 1393, 02:12 صبح
سلام
یه گرید ویو داریم که قراره روی هر کدوم از آیتم هاش کلیک شد به اکتیویتی های مخصوص به خودش بره ....
کد گرید ویو این چنین هست :
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Toast;




public class Start extends Activity {


Integer[] imageIDs = {
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher
};




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


GridView gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(new ImageAdapter(this));


gridView.setOnItemClickListener(new OnItemClickListener()
{


@Override
public void onItemClick(AdapterView<?> parent,
View v, int position, long id)



{
Toast.makeText(getBaseContext(),
"pic" + (position + 1) + " selected",
Toast.LENGTH_SHORT).show();
}



});
}




public class ImageAdapter extends BaseAdapter
{


private Context context;




public ImageAdapter(Context c)
{
context = c;
}




//---returns the number of images---
@Override
public int getCount() {
return imageIDs.length;
}




//---returns the ID of an item---
@Override
public Object getItem(int position) {
return position;
}




@Override
public long getItemId(int position) {
return position;
}




//---returns an ImageView view---
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(context);
imageView.setLayoutParams(new GridView.LayoutParams(96, 96));
imageView.setScaleType(ImageView.ScaleType.CENTER_ CROP);
imageView.setPadding(5, 5, 5, 5);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(imageIDs[position]);
return imageView;
}
}
}







حالا ما فرض می کنیم که گرید ویو ما سه تا ایتم داره A و B و C که با کلیک روی هر کدوم باید به اکتیویتی های AA و BB وCC مراجعت کنه

اگه ممکنه راهنمایی کنید که چه تغییراتی باید انجام بشه
ممنون

skkhossein
جمعه 17 بهمن 1393, 05:48 صبح
به جای toast یه switch case بزار متناسب یا هر آیتمی که کلیک میشه بره به اکتیویتی مورد نظر

Apriliyaa
جمعه 17 بهمن 1393, 08:52 صبح
ممکنه دستورشو به صورت نمونه قرار بدی ؟
ممنون

Apriliyaa
جمعه 17 بهمن 1393, 09:27 صبح
یافتم:



switch (position) {
case 1:
startActivity(new Intent(Start.this, Rasht.class));


break;
case 2:
startActivity(new Intent(Start.this, Anzali.class));


break;
case 3:
startActivity(new Intent(Start.this, Shaft.class));


break;
default:
break;

}