我的桌子在课堂上是满的,在其他课堂上是空的

时间:2018-05-22 11:40:43

标签: android

我是Android的初学者,我使用的是AndroidStudio 我有个问题 在有2个类我的项目在第一堂课“获取compte”我填写我的表“dataParsed”我肯定表是fil 但在第二课MainActivity 我发现桌子是空的 请帮我 这是我的代码

public class fetchcompte  extends AsyncTask<Void,Void,Void> {
String data = "";
String dat = "";

public static String[] dataParsed ;
String singleParsed ;
String dataParse = "";
String singleParse1 = "";
String singleParse2 = "";
String singleParse3 = "";
String singleParse4 = "";
String singleParse5 = "";

private RequestQueue mQueue, mQueu;
 int nbcompte;

protected Void doInBackground(Void... voids) {
    String S = jsonArray;
   // singleParsed=new String[20];
    dataParsed=new String[20];

    try {
        // String url2="http://recrutement.stb.com.tn:1010/PlateformeApi_Externe/api/ComptesClient/000001498675\n";
        //String url2 = "http://10.1.11.168:8081/my/banks/10/accounts/10403082500589678844/transactions";
        String url2 = "http://10.12.0.66:8081/api/ComptesClient/000001498675";

        URL url = new URL(url2);
        HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
        InputStream inputStream = httpURLConnection.getInputStream();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        String line = "";
        while (line != null) {
            line = bufferedReader.readLine();
            data = data + line;
        }

        JSONArray JA = new JSONArray(data);
        nbcompte=JA.length();
        for(int i =0 ;i<nbcompte; i++) {
            JSONObject JO = (JSONObject) JA.get(i);
            singleParsed = "fullname:" + JO.get("fullname");
            singleParse1 = "accountnumber:" + JO.get("accountnumber");
            singleParse2 = "rib:" + JO.get("rib");
            singleParse3 = "iban:" + JO.get("iban");
            singleParse4 = "name:" + JO.get("name");
            singleParse5 = "balance:" + JO.get("balance");
            dataParsed[i] = singleParsed + "\n" + singleParse1 + "\n" + singleParse2 + "\n" + singleParse3 + "\n" + singleParse4 + "\n" + singleParse5;
        }
        // dataParsed[i] =dataParsed[i] +singleParsed[i] +"\n" ;
        // MainActivity.compte[i]=dataParsed[i];
        // singleParsed[i] = "fullname:" + JO.get("fullname") + "\n"+
        // "accountnumber:" + JO.get("accountnumber") + "\n"+
        //  "rib:" + JO.get("rib") + "\n"+
        // "iban:" + JO.get("iban") + "\n"+
        // "name:" + JO.get("name") + "\n"+
        //"balance:" + JO.get("balance") + "\n";
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (JSONException e) {
        e.printStackTrace();
    }

    return null;
}

protected void onPostExecute(Void aVoid) {
    super.onPostExecute(aVoid);
    for(int i =0 ;i <2; i++) {
       // MainActivity.data.setText(this.d[i]);
    }
}
//Authorization Bearer

我的MainActivity

 import static com.example.saiid.listecompte.fetchcompte.dataParsed;

 public class MainActivity extends AppCompatActivity {

 Button click;
 public  static TextView data;
 public static  String jsonArray;
 private RequestQueue mQueue;
 ImageView imageView2;
 public static TextView textView_type;

   @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mQueue = Volley.newRequestQueue(this);

    click = (Button) findViewById(R.id.button_parse);
    data = (TextView) findViewById(R.id.text_view_result);

    click.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            setContentView(R.layout.listeview);
            CustomAdaptercompte customAdapter=new CustomAdaptercompte();
            ListView listeview=(ListView) findViewById(R.id.liste);

            listeview.setAdapter(customAdapter);

             fetchcompte process = new fetchcompte();
             process.execute();
        }
    });
}
public class CustomAdaptercompte extends BaseAdapter {

    @Override
    public int getCount() {
        return 2;
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View convertView, ViewGroup viewgrp) {
        View view = getLayoutInflater().inflate(R.layout.customlayout,null);

        imageView2 = (ImageView) view.findViewById(R.id.imageView2);
        textView_type =(TextView) view.findViewById(R.id.textView_type);      

        imageView2.setImageResource(R.drawable.compte);
         textView_type.setText(dataParsed[i]);
        return view;
    }
 }
}

1 个答案:

答案 0 :(得分:1)

你犯的错误是你认为

 import static com.example.saiid.listecompte.fetchcompte.dataParsed;

将自动成为您需要的dataParsed变量。该行的作用是获取dataParsed的默认值(来自默认的fetchcompte实例)。由于您创建了fetchcompte对象的另一个实例[称为进程](您用它来填充其dataParsed变量),只需访问该实例的dataParsed变量。

所以不要使用:

textView_type.setText(dataParsed[i]);

您可以使用:

textView_type.setText(process.dataParsed[i]);

但要做到这一点,您需要以某种方式访问​​适配器类中的流程变量。