2

我正在尝试从列表视图中获取字符串值并放入另一个视图中。我已经成功地为我的第一个列表视图做到了这一点,但它似乎不适用于我的第三个。(我设法让它工作,但由于我无法理解的原因它现在停止工作)我正在使用完全相同的方法,并且正在检索我试图检索的信息,因为我在运行问题时已经确认它只是不是改变。

代码

 public void onCreate (Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.statseditor);
     dbHelper = new PlayerStatsDatabase(this);
      dbHelper.open();
     Bundle extras = getIntent().getExtras();
     if(extras !=null){
         //String value = extras.getString("Name");
     }
      //Clean all data
    //  dbHelper.deleteAllStats();
      //Add some data
      //dbHelper.insertSomeCountries();

      //Generate ListView from SQLite Database
      //displayListView();
    // list = getListView();
      PlayerNameText = extras.getString("Name");
     btnSave2 = (Button) findViewById(R.id.btnSaveStats);
     btnClear = (Button) findViewById(R.id.btnClearStats);
    txtGoalsScored = (EditText) findViewById(R.id.txtGoal);
    txtMinutesPlayed = (EditText) findViewById(R.id.txtMinPlayed);
    txtSubstituteIn = (EditText) findViewById(R.id.txtSubIn);
    txtSubstituteOut = (EditText) findViewById(R.id.txtSubOut);
    radioSubIn = (RadioButton) findViewById (R.id.rdoSubIn);
    radioSubOut = (RadioButton) findViewById (R.id.rdoSubOut);
    playerRating = (RatingBar) findViewById (R.id.ratingBar1);
    //playerTitle = (TextView) findViewById (R.id.textTitle);
    playerName = (TextView) findViewById (R.id.textView1);
    playerName.setText(PlayerNameText); 
    //playerTitle.setText (PlayerNameText);
    checkBox = (CheckBox) findViewById (R.id.checkBox1);
    if  (checkBox.isChecked()){
        checkBox.append("Booked");
    }
    final CharSequence checkText = checkBox.getText();
    //final Context context = 
 btnSave2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            PlayerStatsDatabase db = new PlayerStatsDatabase(getApplicationContext());
            db.open();
            db.createStats(txtGoalsScored.getText().toString(),  txtMinutesPlayed.getText().toString(),txtSubstituteIn.getText().toString(),txtSubstituteOut.getText().toString(), checkText.toString());
            db.close();
            dipsplayPlayerName();
            displayListView();

            //Intent intent = new Intent(context, ListItemsActivity.class);
              //  startActivity(intent);
        }
    });
 }

在我使用此方法的第一个实例中,playerName实际上更改为PlayerNameText 但是当我再次尝试再次使用它时,它不起作用

private void dipsplayPlayerName() {
    setContentView (R.layout.statslist);
    Bundle extras = getIntent().getExtras();
    PlayerNameText = extras.getString("Name"); 
     playerTitle = (TextView) findViewById (R.id.textTitle);
     playerTitle.setText (PlayerNameText);

}

有任何想法吗?没有 LogCat,因为应用程序不会崩溃

4

1 回答 1

2

将您收到的文本数据放入一个字段并使用它,而不是再次从意图中获取它。

此外,请检查 displayListView() 是否不会更改 textView。

于 2013-04-20T23:12:48.777 回答