2017-12-07 2 views
0

私は管理ページを作成しています。何か問題があればユーザーデータを編集したい。
以下は管理者が「編集」をクリックして情報を編集できる私のテーブルです。
私はこのアクティビティから2番目のアクティビティにデータを取得することができますが、データは最初の行だけに従います。
私は第二行の編集をクリックすると(BI14110391、Totalmarks:3)、データは依然として(BI14110104、合計マーク= 8)最初の行データに残って最初のユーザーデータ以上を送信できません

enter image description here

マイコード:

public class assessment_table_edit extends AppCompatActivity { 
     Toolbar toolbar; 
     String data = ""; 
     TableLayout tlAssessment; 
     TableRow tr; 
     TextView stuID,totalmarks,marks,edit; 
     ArrayList<Assessment_Information> users; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_assessment_table_edit); 
      toolbar=(Toolbar)findViewById(R.id.toolbar); 
      setSupportActionBar(toolbar); 
      getSupportActionBar().setTitle("Percentage of the Marks"); 
      tlAssessment=(TableLayout)findViewById(R.id.tlAssessment_Edit); 


      final Assessment_Information_GetData getdb=new Assessment_Information_GetData(); 
      new Thread(new Runnable() { 
       @Override 
       public void run() { 
        data =getdb.getDataFromDB(); 
        System.out.println(data); 
        runOnUiThread(new Runnable() { 
         @Override 
         public void run() { 
          users=parseJSON(data); 
          addData(users); 
         } 
        }); 
       } 
      }).start(); 

     } 

     View.OnClickListener onClickListener=new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       switch (v.getId()){ 
        case R.id.assessment_id: 
//Problem is here 
         Intent iChange=new Intent(assessment_table_edit.this,assessment_edit_data.class); 
         Bundle b=new Bundle(); 
         b.putString("stuID", users.get(0).getStuID()); 
         b.putString("totalmarks",users.get(1).getTotalmarks()); 
         iChange.putExtras(b); 
         // iChange.putExtra("stuID",user.getStuID()); 
         startActivity(iChange); 
         break; 
       } 
      } 
     }; 
+0

いつも最初と2番目のレコード(users.get(0)、users.get(1))を得る理由 – Vsevolod

+0

これは私がここで助けを求めている理由です。 – Lawrence

答えて

0

次のコードは、行からデータを取得するときに間違った位置を参照しています。

Intent iChange=new Intent(assessment_table_edit.this,assessment_edit_data.class); 
        Bundle b=new Bundle(); 
        b.putString("stuID", **users.get(0).getStuID()**); 
        b.putString("totalmarks",**users.get(1).getTotalmarks()**); 
        iChange.putExtras(b); 
        // iChange.putExtra("stuID",user.getStuID()); 
        startActivity(iChange); 

適切な値を使用してください。

+0

どうすればいいですか? – Lawrence

+0

最初の行を編集する場合は、0の位置と2番目の行、1つの位置を送信してください。 行番号に応じて、行番号として位置を送信して、リストからデータをフェッチします。 –

関連する問題