我目前正在开展此活动(类ChallengeNew52),其中我有一组RadioGroup。在这个RadioGroup中,我有一个EditText(id.etGoalNew),它位于RadioButton(id.rButtonwithGoal)下。
当选中此RadioButton(活动)时,假设允许用户访问/输入EditText并显示他们键入的其他活动。我想我已经完成了启用部分,但现在问题是将它显示给另一个活动(class challengetab)。我似乎无法在此特定RadioButton下的此EditText中正确显示字符串。此“Switch”中的另一个案例中的(endlessMode)正在显示。
代码没有出错,应用程序启动正常但它没有显示我想要的内容。希望您能查看冲突或编码是什么。
以下是该活动的代码:
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
public class ChallengeNew52 extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener {
RadioGroup rgInputNew;
EditText etGoalNew;
EditText moIncome;
EditText etGoalNumber;
String challengetitle;
String resultString;
String goalTitle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_challenge_new52);
//Strings
final String saveTitle = getResources().getString(R.string.ctabtitle_fiftytwo);
//Radio Group Enable EditText (goal) input
rgInputNew = (RadioGroup) findViewById(R.id.rgGoal);
rgInputNew.setOnCheckedChangeListener(ChallengeNew52.this);
// EditTexts
moIncome = (EditText) findViewById(R.id.inputIncomeBar52);
etGoalNumber = (EditText) findViewById(R.id.inputGoalNumber52);
etGoalNew = (EditText) findViewById(R.id.inputGoalBar52);
actv(false);
// Button Call
Button startSaving = (Button) findViewById(R.id.buttonStartSaving);
/*
BUTTON CLICK!
*/
startSaving.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//--Call Equation
mathFiftyTwo();
//--To Display to Another Activity ("challengetab" java)
Intent iStartSaving = new Intent(getApplicationContext(), challengetab.class);
iStartSaving.putExtra("resultShow", resultString);
iStartSaving.putExtra("goalName", goalTitle);
iStartSaving.putExtra("titleChallenge", challengetitle);
iStartSaving.putExtra("resultShow", resultString);
ChallengeNew52.this.startActivity(iStartSaving);
}
});//--onClickListener
//--Call outs for the string Challenge Title
challengetitle = saveTitle;
}//--onCreate
//--To activate Edit Text with Radio Select. (METHOD)
@Override
public void onCheckedChanged (RadioGroup rgInputNew, int rButtonWithGoal) {
//--String
final String endlessMode = getResources().getString(R.string.ctabnogoal);
switch (rButtonWithGoal) {
case R.id.rButtonWithGoal:
actv(true);
dsply(true);
break;
case R.id.rbEndlessSaving:
actv(false);
//--Call outs for the string Endless Saving Mode
goalTitle = endlessMode;
break;
}
}//--end onCheckedChanged
//--display text method for goalTitle
private void dsply (final boolean active) {
//--Strings
final String goalNew = etGoalNew.getText().toString();
etGoalNew.setEnabled(active);
if (active) {
goalTitle = goalNew;
}
}
//--actv method for activating of Radio Button's EditText
private void actv(final boolean active) {
etGoalNew.setEnabled(active);
if (active) {
etGoalNew.requestFocus();
}
etGoalNumber.setEnabled(active);
if (active) {
etGoalNumber.requestFocus();
}
}
}//--End class
以下是我对其他活动进行编码的方式:
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class challengetab extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_challengetab);
//TextView for Goals
TextView goalView = (TextView)findViewById(R.id.cGoalName);
goalView.setText(getIntent().getExtras().getString("goalName"));
//TextView for Computation
TextView resultView = (TextView)findViewById(R.id.cValueSave);
resultView.setText(getIntent().getExtras().getString("resultShow"));
// Text View for Title
//TextView: Receive Challenge Title when button is clicked
TextView incomeView = (TextView)findViewById(R.id.cTitleChallenge);
incomeView.setText(getIntent().getExtras().getString("incomeTitle"));
incomeView.setText(getIntent().getExtras().getString("titleChallenge"));
}
}
答案 0 :(得分:0)
用户完成填充后,您永远无法从名为EditText
的{{1}}获取最终值。
在为etGoalNew
额外设置Intent
时,请在点击监听器中尝试执行此操作:
"goalName"
答案 1 :(得分:0)
您需要在第二个活动中获取捆绑包: 试试这个:
Bundle bundle = getIntent().getExtras();
if(bundle!=null){
String value1 = bundle.getString("resultShow");
String value2 = bundle.getString("goalName");
String value3 = bundle.getString("titleChallenge");
String value4 = bundle.getString("resultShow");
}
答案 2 :(得分:0)
Flag