Я пытаюсь сделать свое случайно сгенерированное изображение (которое читается как кнопка) кликабельным, что приводит к различным действиям для каждого отдельного изображения.Так что случайные изображения на самом деле работают идеально, единственная проблема, это не кликабельность. Вот мой код
final Button imgView = (Button)findViewById(R.id.top1);
Random rand = new Random();
int rndInt = rand.nextInt(4) + 1;
String imgName = "img" + rndInt;
int id = getResources().getIdentifier(imgName, "drawable", getPackageName());
imgView.setBackgroundResource(id);
На моем макете я указал id top1 в качестве кнопки.Таким образом, приведенный выше код будет искать мои рисованные изображения с именами 'img1.jpg', 'img2.jpg', 'img3.jpg' и 'img4.jpg'.
Так что ячто-то вроде «хочу сделать», когда генерируется «img1.jpg», оно становится кликабельным и приводит, например, к Activity1.java, для «img2.jpg» намерение переходит к «Activity2.java» и т. д.
Большое спасибо заранее.Я открыт для любого решения:)
ОБНОВЛЕНО:
Вот полный код моего основного класса:
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_x);
final Button imgView = (Button)findViewById(R.id.top1);
Random rand = new Random();
imgView.setOnClickListener(new ActivitySwitch(1,this));
imgView.setOnClickListener(new ActivitySwitch(2,this));
imgView.setOnClickListener(new ActivitySwitch(3,this));
imgView.setOnClickListener(new ActivitySwitch(4,this));
int rndInt = rand.nextInt(4) + 1;
String imgName = "img" + rndInt;
int id = getResources().getIdentifier(imgName, "drawable", getPackageName());
imgView.setBackgroundResource(id);
}
издесь класс ActivitySwitch:
public class ActivitySwitch implements OnClickListener{
int imageNo;
Context context;
public ActivitySwitch(int imageNo,Context context) {
super();
this.context=context;
this.imageNo = imageNo;
}
@Override
public void onClick(View v) {
Intent it=new Intent();
if(imageNo==1)
{
it.setClass(context, ProjektAID.class);
}
else if (imageNo==2)
{
it.setClass(context, ProjektADH.class);
}
else if (imageNo==3)
{
it.setClass(context, ProjektBOS.class);
}
else if (imageNo==4)
{
it.setClass(context, ProjektBROT.class);
}
}
}