Android 如何从子活动回调数据并使父活动中的图像透明

Android 如何从子活动回调数据并使父活动中的图像透明,android,gridview,sharedpreferences,Android,Gridview,Sharedpreferences,我在gridview中有图像。这些图像显示在活动中。单击其中一个图像时,将从此图像启动新活动。在此活动中,如果用户输入正确答案,则会启动新的活动,指示答案正确。在用户输入正确答案后,我想在gridwiew中使用复选标记将此图像设置为更透明 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout

我在gridview中有图像。这些图像显示在活动中。单击其中一个图像时,将从此图像启动新活动。在此活动中,如果用户输入正确答案,则会启动新的活动,指示答案正确。在用户输入正确答案后,我想在gridwiew中使用复选标记将此图像设置为更透明

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_level1);
    initComponent();
    gva.setAdapter(new ImageAdaptera(getApplicationContext()));

    gva.setOnItemClickListener(new OnItemClickListener()
    {
  public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
  switch (position) {

            case 0:

              {

                    Intent intenta = new Intent (getBaseContext(),     AA.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

                    startActivityForResult(intenta,0);

                }

                break;

            case 1:
            {
                Intent intentb = new Intent (getBaseContext(), AB.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivityForResult(intentb,0);
            }
               break;


      case 2:
    {
        Intent intentc = new Intent (getBaseContext(), AC.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
       startActivityForResult(intentc,0);
    }
   break;
   }}
儿童活动:

       @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                 if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                            (keyCode == KeyEvent.KEYCODE_ENTER)) {

                String check = input.getText().toString().replace(" ","");
                Editor editor = mGameSettings.edit();
                editor.putString(GAME_PREFERENCES_answeraa, check);
                editor.commit();



                if(check.equalsIgnoreCase("petronet")){

                    display.setText("correct");
                    Toast.makeText(AA.this,"CORRECT",Toast.LENGTH_SHORT).show();

                        Intent data = new Intent();
                    // TODO Add extras or a data URI to this intent as appropriate.
                    setResult(RESULT_OK, data);         
input.setEnabled(false);Guruapp.levela++;Guruapp.count++;
int hc2 = mGameSettings.getInt(GAME_PREFERENCES_hint, Guruapp.count);
Guruapp.count = hc2;

finish();

                }           


                else{
                    display.setText("Wrong");
                    Toast.makeText(AA.this,"WRONG",Toast.LENGTH_SHORT).show();
                    return false;
                }
你为什么不:

  • 公共静态ArrayList ImageResponsed=新ArrayList(numberOfImages)
  • 将ImageArrayList元素设置为false
  • 然后,当用户选择一个图像时,您将获取该图像的索引,以了解在下一个活动中显示的图像
  • 当用户输入有关显示图像的正确答案时
  • 当您在网格视图活动中返回时,在使用图像重新创建网格视图时的onResume中,在将图像放入框中之前,首先检查该索引上的图像是否有响应。如果有,则返回true。将图像的alpha设置为75%,并在图像的右下角打勾

  • 没有人可以回答,我的问题是错的还是死气沉沉的,在哪里创建arraylist。。。是图像适配器吗?对不起,我没有时间写你的代码。。。我向你解释了我对算法的想法,我看到你知道如何处理Android,即使你是这方面的新手。我不认为来自SO的人会解决你的问题,他们会帮助你理解如何去做。如果我有时间,我会帮助你理解如何编写代码,但很抱歉,我没有时间。最后在周末:)请务必理解,我不需要完整的代码,我只想知道在哪里提供数组列表是在gridview.java(或)image adapter中。如何从子活动中获取索引编号,
           @Override
                public boolean onKey(View v, int keyCode, KeyEvent event) {
                     if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                                (keyCode == KeyEvent.KEYCODE_ENTER)) {
    
                    String check = input.getText().toString().replace(" ","");
                    Editor editor = mGameSettings.edit();
                    editor.putString(GAME_PREFERENCES_answeraa, check);
                    editor.commit();
    
    
    
                    if(check.equalsIgnoreCase("petronet")){
    
                        display.setText("correct");
                        Toast.makeText(AA.this,"CORRECT",Toast.LENGTH_SHORT).show();
    
                            Intent data = new Intent();
                        // TODO Add extras or a data URI to this intent as appropriate.
                        setResult(RESULT_OK, data);         
    input.setEnabled(false);Guruapp.levela++;Guruapp.count++;
    int hc2 = mGameSettings.getInt(GAME_PREFERENCES_hint, Guruapp.count);
    Guruapp.count = hc2;
    
    finish();
    
                    }           
    
    
                    else{
                        display.setText("Wrong");
                        Toast.makeText(AA.this,"WRONG",Toast.LENGTH_SHORT).show();
                        return false;
                    }