通过按钮点击其他活动的意图接收整数不能正常工作android

时间:2016-01-21 18:20:55

标签: android android-intent android-gallery

我正在尝试为自定义图库中的多个图像设置一个数量。我有两个按钮,我可以选择要选择的图像数量。现在我有两个按钮标签为4和5.一旦我点击说按钮4,整数值4被发送到另一个活动。

接收活动的

问题1 即使我只点击了一个按钮,我也会得到整数值4和5。

问题2 MAX_IMAGE_SELECTION_LENGTH始终返回null。此变量必须具有值4或5.它在其他方法中用于设置要选择的图像数量。

  

用于发送整数值的intent。类:CountChooser.java

 View.OnClickListener c4ClickListner = new View.OnClickListener(){
    @Override
    public void onClick(View v) {
        Intent i = new Intent().putExtra("count4", 4);
        CustomGalleryActivity customGalleryActivity = new CustomGalleryActivity();
        customGalleryActivity.setIntent(i);

        Intent intent = new Intent(getApplicationContext(), MainActivity.class);
        startActivity(intent);
    }
};

View.OnClickListener c5ClickListner = new View.OnClickListener(){
    @Override
    public void onClick(View v) {
        Intent i = new Intent().putExtra("count5", 5);
        CustomGalleryActivity customGalleryActivity = new CustomGalleryActivity();
        customGalleryActivity.setIntent(i);

        Intent intent = new Intent(getApplicationContext(), MainActivity.class);
        startActivity(intent);
    }
};
  

接收活动类:C​​ustomGalleryActivity.java

int MAX_IMAGE_SELECTION_LENGTH;



    Intent intent = getIntent();
    int count_4 = intent.getIntExtra("count4", 0);
    int count_5 = intent.getIntExtra("count5", 0);
    if(intent.hasExtra("count4")){
        MAX_IMAGE_SELECTION_LENGTH = count_4;
    }else if(intent.hasExtra("count5")) {
        MAX_IMAGE_SELECTION_LENGTH = count_5;
    }

我该如何解决这个问题?我也尝试过stackoverflow上可用的不同解决方案,但无法完成。

4 个答案:

答案 0 :(得分:0)

 View.OnClickListener c4ClickListner = new View.OnClickListener(){
    @Override
    public void onClick(View v) {
      finish();
    }
};

覆盖finish方法并将其放入:

Intent i = new Intent(CountChooser.this,CustomGalleryActivity.class);
       i.putExtra("count4", 4);
       startActivity(intent);

答案 1 :(得分:0)

问题1: 您在全局视图上设置OnClickListener?这是什么观点? 使用?:

Button button1 = (Button) findviewbyId(R.id......)
button1.OnClickListener

答案 2 :(得分:0)

为count和chekh创建一个关键字,无论是4还是5 现在创建一个检查计数是否有5或4的条件 如果(计数== 4){

}否则{

}

答案 3 :(得分:0)

使用下面相应活动中给出的代码替换您的代码。

CountChooser.java

View.OnClickListener c4ClickListner = new View.OnClickListener(){
    @Override
    public void onClick(View v) {
       Intent intent = new Intent(getApplicationContext(), CustomGalleryActivity.class);
       intent.putExtra("count", 4);
       startActivity(intent);
    }
};

View.OnClickListener c5ClickListner = new View.OnClickListener(){
    @Override
    public void onClick(View v) {
       Intent intent = new Intent(getApplicationContext(), CustomGalleryActivity.class);
       intent.putExtra("count", 5);
       startActivity(intent);
    }
};

<强> CustomGalleryActivity.java

int MAX_IMAGE_SELECTION_LENGTH;

Intent intent = getIntent();
int count = intent.getIntExtra("count", 0);
if(count != 0){
  if(count == 4){
      MAX_IMAGE_SELECTION_LENGTH = 4;
  }else if(count == 5) {
      MAX_IMAGE_SELECTION_LENGTH = 5;
  }
}

如果这对您有帮助,请告诉我。