انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Adapter محتویات listView در کلاس برنامه نویسی اندروید

Adapter محتویات listView در کلاس برنامه نویسی اندروید

#6
(۱۳۹۴/۰۹/۰۸, ۰۴:۰۸ ب.ظ)hoseinrahimi نوشته:
(۱۳۹۴/۰۹/۰۸, ۰۱:۴۶ ب.ظ)Michael.0858 نوشته: با سلام دوستان من یه مشکلی دارم
طرز استفاده دقیق از arrayadapter رو نمیدونم
و از طرفی نمیدونم که ایا مقادیری که با جیسون میگیرم رو درست مقدار رهی میکنم یا نه لطفا کمک کنید...

کد:
public class Main extends Activity {
    
    private int term=1;
    private ListView listview;
    private ArrayList<String> list;
    private String[] json1,json2,json3;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

       new getdata().execute();
       listview=(ListView)findViewById(R.id.listview);

   }

   public class getdata extends AsyncTask{

       ProgressDialog pd=new ProgressDialog(Main.this);

       @Override
       protected void onPreExecute() {
           pd.setMessage("Loading...");
           pd.show();
           super.onPreExecute();
       }

       @Override
       protected Object doInBackground(Object... args) {

           try {

               String data= URLEncoder.encode("term","UTF8")+"="+URLEncoder.encode(term+"","UTF8");
               URL link=new URL("http://hoseein.vvs.ir/html_public/wordpress/wp-app/term.php");
               URLConnection connect=link.openConnection();

               ///////////////send data////////////////

               connect.setDoOutput(true);
               OutputStreamWriter wr=new OutputStreamWriter(connect.getOutputStream());
               wr.write(data);
               wr.flush();

               BufferedReader reader=new BufferedReader(new InputStreamReader(connect.getInputStream()));

               StringBuilder sb=new StringBuilder();
               String line=null;
               while ((line=reader.readLine()) !=null){
                   sb.append(line);
               }
               list=new ArrayList<String>();

               JSONArray ja=new JSONArray(sb.toString());
               for(int i=0;i<ja.length();i++){
                   JSONObject jo=ja.getJSONObject(i);
                   json1[i]=(jo.getString("post_title"));
                   json2[i]=(jo.getString("post_content"));
                   json3[i]=(jo.getString("comment_count"));
                   /*
                   list.add(jo.getString("post_title"));
                   list.add(jo.getString("post_content"));
                   list.add(jo.getString("comment_count"));
                    */
               }

           }catch (Exception e){

           }

           return "";
       }

       @Override
       protected void onPostExecute(Object result) {

           if (result == "") {

               //ArrayAdapter<String> adapter=new ArrayAdapter<String>(Main.this,android.R.layout.simple_list_item_1,list);
               listview.setAdapter(new AI(Main.this, R.layout.main_row, android.R.layout.simple_list_item_1, json1));
               pd.dismiss();

           }

           super.onPostExecute(result);
       }
   }
   
       class AI extends ArrayAdapter<String>{

        public AI(Context context, int resource, int textViewResourceId,
                String[] objects) {
            super(context, resource, textViewResourceId, objects);
        }
       
       @Override
       public View getView(int position, View convertView, ViewGroup parent) {
           
           LayoutInflater in=getLayoutInflater();
           View row=in.inflate(R.layout.main_row, parent ,false);
           
           TextView title=(TextView) row.findViewById(R.id.main_row_title);
           title.setText(json1[position]);
            TextView txt=(TextView) row.findViewById(R.id.main_row_content);
            txt.setText(json2[position]);
            TextView nazar=(TextView) row.findViewById(R.id.main_row_comment);
            nazar.setText(json3[position]);
            
           return row;
       }
    
   }
 
}

این که برا من کار کرد


ListView3.java
کد:
package com.kelidestan.ListView3;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class ListView3Activity extends Activity {

    ListView lv;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        lv = (ListView) findViewById(R.id.listView1);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.names));
        lv.setAdapter(adapter);

    }

}





values/cars.xml


کد:
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string-array name="names">
       <item name="name_1">پراید</item>
       <item name="name_2">پژو 405</item>
       <item name="name_3">پژو 206</item>
       <item name="name_4">پژو پارس</item>
       <item name="name_5">سمند</item>
   </string-array>
</resources>

سوال من کلا یه چیز دیگست...
اطلاعات رو از سرور گرفتم اما نمیتونم به وسیله یک اداپتر توی یه لیست ویو نمایشش بدم
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پیام‌های این موضوع
RE: Adapter محتویات listView در کلاس برنامه نویسی اندروید - توسط Michael.0858 - ۱۳۹۴/۰۹/۰۸, ۱۱:۲۵ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 2 مهمان