Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在另一个文件中单击“提交”按钮后禁用文件中的卡片视图_Android_Android Cardview_Cardview_Android Cards - Fatal编程技术网

Android 如何在另一个文件中单击“提交”按钮后禁用文件中的卡片视图

Android 如何在另一个文件中单击“提交”按钮后禁用文件中的卡片视图,android,android-cardview,cardview,android-cards,Android,Android Cardview,Cardview,Android Cards,当提交按钮位于另一个布局中时,如何访问CardView 基本上,在我单击File1.java中的submit按钮之后,我想禁用Menu.java中的cardview并更改颜色 File1.java buttonSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { nextPage(); }

当提交按钮位于另一个布局中时,如何访问
CardView

基本上,在我单击File1.java中的submit按钮之后,我想禁用Menu.java中的cardview并更改颜色

File1.java

buttonSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            nextPage();
        }
    });

private void nextPage(){
    Intent intent = new Intent(this, Menu.class);
    startActivity(intent);
}
package com.example.test;
//all import statements

public class Menu extends AppCompatActivity implements View.OnClickListener {

private static final String TAG = Menu.class.getSimpleName();

private final int REQUEST_CODE = 101;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu);

    showStartDialog();

    CardView cardView1 = findViewById(R.id.card1);
    cardView1.setOnClickListener(this);
}

//try to make cardview unclickable
@Override
public void onClick(View v) {
    Intent intent = new Intent(Menu.this, File.class);
    startActivityForResult(intent, REQUEST_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK){
        if (requestCode ==REQUEST_CODE){
            if(data != null){
                boolean cardView1= data.getBooleanExtra("disable", false);
                Log.d(TAG,"code success 1");

                    if (cardView1) {
                        Log.d(TAG, "code success 2");
                    }

            }
        }
    }
}

//popup alert message , create dialog builder
private void showStartDialog(){
    String alert1 = "\nAnswer at least 5 surveys now!\n";
    String alert2 = "Redeem at information counter";
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle(Html.fromHtml("<font color='#FF0000'>Collect mystery gift!</font>"));
    alert.setIcon(R.drawable.gift);
    alert.setMessage(alert1 + "\n" + alert2);
    alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });
    AlertDialog dialog = alert.create();
    dialog.show();
    Log.d(TAG, "popup appear");
   }
}
    private final int REQUEST_CODE = 101
    ...
    ...

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(Menu.this, File1.class);
        startActivityForResult(intent, REQUEST_CODE);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {

            if(requestCode == REQUEST_CODE){
                  if(data != null){
                     boolean disableCard = data.getBooleanExtra("disableCard", false);

                     if(disableCard){
                        cardView1.setEnabled(false); 
                        cardView1.setOnClickListener(null);
                     } else {
                        cardView1.setEnabled(true); 
                        cardView1.setOnClickListener(this);
                     }

                  }
            }
        }
    }
    buttonSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();
            //set extras here that you want to pass back to Menu.java activity
            intent.putExtra("disableCard", true);
            setResult(RESULT_OK, intent);
            finish();
        }
    });
Menu.java

buttonSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            nextPage();
        }
    });

private void nextPage(){
    Intent intent = new Intent(this, Menu.class);
    startActivity(intent);
}
package com.example.test;
//all import statements

public class Menu extends AppCompatActivity implements View.OnClickListener {

private static final String TAG = Menu.class.getSimpleName();

private final int REQUEST_CODE = 101;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu);

    showStartDialog();

    CardView cardView1 = findViewById(R.id.card1);
    cardView1.setOnClickListener(this);
}

//try to make cardview unclickable
@Override
public void onClick(View v) {
    Intent intent = new Intent(Menu.this, File.class);
    startActivityForResult(intent, REQUEST_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK){
        if (requestCode ==REQUEST_CODE){
            if(data != null){
                boolean cardView1= data.getBooleanExtra("disable", false);
                Log.d(TAG,"code success 1");

                    if (cardView1) {
                        Log.d(TAG, "code success 2");
                    }

            }
        }
    }
}

//popup alert message , create dialog builder
private void showStartDialog(){
    String alert1 = "\nAnswer at least 5 surveys now!\n";
    String alert2 = "Redeem at information counter";
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle(Html.fromHtml("<font color='#FF0000'>Collect mystery gift!</font>"));
    alert.setIcon(R.drawable.gift);
    alert.setMessage(alert1 + "\n" + alert2);
    alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });
    AlertDialog dialog = alert.create();
    dialog.show();
    Log.d(TAG, "popup appear");
   }
}
    private final int REQUEST_CODE = 101
    ...
    ...

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(Menu.this, File1.class);
        startActivityForResult(intent, REQUEST_CODE);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {

            if(requestCode == REQUEST_CODE){
                  if(data != null){
                     boolean disableCard = data.getBooleanExtra("disableCard", false);

                     if(disableCard){
                        cardView1.setEnabled(false); 
                        cardView1.setOnClickListener(null);
                     } else {
                        cardView1.setEnabled(true); 
                        cardView1.setOnClickListener(this);
                     }

                  }
            }
        }
    }
    buttonSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();
            //set extras here that you want to pass back to Menu.java activity
            intent.putExtra("disableCard", true);
            setResult(RESULT_OK, intent);
            finish();
        }
    });
package com.example.test;
//所有进口报表
公共类菜单扩展AppCompatActivity实现View.OnClickListener{
私有静态最终字符串标记=Menu.class.getSimpleName();
私人最终int请求_代码=101;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
showStartDialog();
CardView cardView1=findViewById(R.id.card1);
cardView1.setOnClickListener(此);
}
//尝试使cardview不可读取
@凌驾
公共void onClick(视图v){
意图=新意图(Menu.this,File.class);
startActivityForResult(意图、请求代码);
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
if(resultCode==RESULT\u OK){
if(requestCode==请求\代码){
如果(数据!=null){
boolean cardView1=data.getBooleanExtra(“禁用”,false);
Log.d(标签“代码成功1”);
如果(cardView1){
Log.d(标签“代码成功2”);
}
}
}
}
}
//弹出警报消息,创建对话框生成器
私有无效showStartDialog(){
String alert1=“\n现在至少进行5次调查!\n”;
String alert2=“在信息柜台兑换”;
AlertDialog.Builder alert=新建AlertDialog.Builder(此);
setTitle(Html.fromHtml(“收集神秘礼物!”);
警报。设置图标(R.drawable.gift);
警报。设置消息(警报1+“\n”+警报2);
alert.setPositiveButton(“确定”,新的DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
dialog.dismise();
}
});
AlertDialog=alert.create();
dialog.show();
Log.d(标记“弹出显示”);
}
}

您可以覆盖
菜单.java
文件中的
onActivityResult
方法,而不是再次启动
菜单.java
活动,完成当前活动并使用
setResult()

Menu.java

buttonSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            nextPage();
        }
    });

private void nextPage(){
    Intent intent = new Intent(this, Menu.class);
    startActivity(intent);
}
package com.example.test;
//all import statements

public class Menu extends AppCompatActivity implements View.OnClickListener {

private static final String TAG = Menu.class.getSimpleName();

private final int REQUEST_CODE = 101;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu);

    showStartDialog();

    CardView cardView1 = findViewById(R.id.card1);
    cardView1.setOnClickListener(this);
}

//try to make cardview unclickable
@Override
public void onClick(View v) {
    Intent intent = new Intent(Menu.this, File.class);
    startActivityForResult(intent, REQUEST_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK){
        if (requestCode ==REQUEST_CODE){
            if(data != null){
                boolean cardView1= data.getBooleanExtra("disable", false);
                Log.d(TAG,"code success 1");

                    if (cardView1) {
                        Log.d(TAG, "code success 2");
                    }

            }
        }
    }
}

//popup alert message , create dialog builder
private void showStartDialog(){
    String alert1 = "\nAnswer at least 5 surveys now!\n";
    String alert2 = "Redeem at information counter";
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle(Html.fromHtml("<font color='#FF0000'>Collect mystery gift!</font>"));
    alert.setIcon(R.drawable.gift);
    alert.setMessage(alert1 + "\n" + alert2);
    alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });
    AlertDialog dialog = alert.create();
    dialog.show();
    Log.d(TAG, "popup appear");
   }
}
    private final int REQUEST_CODE = 101
    ...
    ...

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(Menu.this, File1.class);
        startActivityForResult(intent, REQUEST_CODE);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {

            if(requestCode == REQUEST_CODE){
                  if(data != null){
                     boolean disableCard = data.getBooleanExtra("disableCard", false);

                     if(disableCard){
                        cardView1.setEnabled(false); 
                        cardView1.setOnClickListener(null);
                     } else {
                        cardView1.setEnabled(true); 
                        cardView1.setOnClickListener(this);
                     }

                  }
            }
        }
    }
    buttonSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();
            //set extras here that you want to pass back to Menu.java activity
            intent.putExtra("disableCard", true);
            setResult(RESULT_OK, intent);
            finish();
        }
    });
File1.java

buttonSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            nextPage();
        }
    });

private void nextPage(){
    Intent intent = new Intent(this, Menu.class);
    startActivity(intent);
}
package com.example.test;
//all import statements

public class Menu extends AppCompatActivity implements View.OnClickListener {

private static final String TAG = Menu.class.getSimpleName();

private final int REQUEST_CODE = 101;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu);

    showStartDialog();

    CardView cardView1 = findViewById(R.id.card1);
    cardView1.setOnClickListener(this);
}

//try to make cardview unclickable
@Override
public void onClick(View v) {
    Intent intent = new Intent(Menu.this, File.class);
    startActivityForResult(intent, REQUEST_CODE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK){
        if (requestCode ==REQUEST_CODE){
            if(data != null){
                boolean cardView1= data.getBooleanExtra("disable", false);
                Log.d(TAG,"code success 1");

                    if (cardView1) {
                        Log.d(TAG, "code success 2");
                    }

            }
        }
    }
}

//popup alert message , create dialog builder
private void showStartDialog(){
    String alert1 = "\nAnswer at least 5 surveys now!\n";
    String alert2 = "Redeem at information counter";
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle(Html.fromHtml("<font color='#FF0000'>Collect mystery gift!</font>"));
    alert.setIcon(R.drawable.gift);
    alert.setMessage(alert1 + "\n" + alert2);
    alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });
    AlertDialog dialog = alert.create();
    dialog.show();
    Log.d(TAG, "popup appear");
   }
}
    private final int REQUEST_CODE = 101
    ...
    ...

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(Menu.this, File1.class);
        startActivityForResult(intent, REQUEST_CODE);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {

            if(requestCode == REQUEST_CODE){
                  if(data != null){
                     boolean disableCard = data.getBooleanExtra("disableCard", false);

                     if(disableCard){
                        cardView1.setEnabled(false); 
                        cardView1.setOnClickListener(null);
                     } else {
                        cardView1.setEnabled(true); 
                        cardView1.setOnClickListener(this);
                     }

                  }
            }
        }
    }
    buttonSubmit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();
            //set extras here that you want to pass back to Menu.java activity
            intent.putExtra("disableCard", true);
            setResult(RESULT_OK, intent);
            finish();
        }
    });

你能详细说明一下,你想达到什么目的吗?在Menu.java中,几乎没有cardview。单击cardview后,它将被定向到File1.java。基本上,在我点击File1.java中的submit按钮后,我想禁用Menu.java中的cardview并更改颜色。如果(disableCard){cardView1.setEnabled(false);cardView1.setClickable(false);Log.d(标记“此处代码也成功!”);}那么即使禁用了CardView,您仍然可以单击它?是的。仍然可以单击CardViewokey,尝试更新的答案,如果仍然不起作用,请发布Menu.java文件的完整代码。