【发布时间】:2016-02-05 03:07:08
【问题描述】:
我目前正在从事这项活动(ChallengeNew52 类),其中我有一组 RadioGroup。在这个 RadioGroup 中,我有一个位于 RadioButton (id.rButtonwithGoal) 下的 EditText (id.etGoalNew)。
当此 RadioButton 被选中(激活)时,假设允许用户访问/输入 EditText 并显示他们输入到另一个活动的内容。我想我完成了启用部分,但现在的问题是将它显示给另一个活动(class challengetab)。我似乎无法在这个特定的 RadioButton 下从这个 EditText 正确显示字符串。正在显示此“开关”中另一种情况下的 (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"));
}
}
【问题讨论】:
-
问题是
challengetab活动在点击startSaving后没有填充其TextViews 吗? -
它正在与另一个 textView 一起工作,这是我试图在挑战选项卡中的 textview (id.goalView) 中显示输入的特定 EditText (id.etGoalNew)显示。
标签: java android android-edittext android-radiogroup android-radiobutton