2

リストビューから文字列値を取得して別のビューに入れようとしています。最初のリストビューではこれをうまく行うことができましたが、3 番目のリストビューではうまくいかないようです。(私はそれを機能させることができましたが、理解できない理由で今は機能しなくなりました)私はまったく同じ方法を使用しており、問題の実行中に確認したように、取得しようとしている情報は取得されています。着替え中。

コード

 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 に答える