2012-01-09 94 views
0

我有JSON數據的內容字符串和圖像網址,我已經解析它在第一個活動。如何在第二個活動中在我的自定義列表視圖中顯示它像我應該自定義一個適配器?如何從JSON解析器加載數據並將其顯示在我的自定義列表視圖中?

如果這是解決方案,我該怎麼辦?

我對適配器不熟悉。

下面是從第一個活動代碼:

public class BBtest05Activity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    try { 
     executeHttpGet(); 
    } catch (Exception e) { 
     Log.i("bird","parser failure"); 
     e.printStackTrace(); 
    } 
    } 

    String aStr = new String(); 
    String aStrArray[] = new String[2048]; 
    public void executeHttpGet() throws Exception { 
     try { 
     HttpClient client = new DefaultHttpClient(); 
     HttpGet request = new HttpGet("http://test.mobibon.com.tw/MovieGoTest/GetMovies.js"); 
     HttpResponse response = client.execute(request); 
     String retSrc = EntityUtils.toString(response.getEntity(),"utf-8"); 
     //there's a space in the head... 
     retSrc = retSrc.substring(1); 
      JSONObject obj = new JSONObject(retSrc); 
      JSONArray movieArray = obj.getJSONArray("movies"); 
      for(int i = 0;i < movieArray.length(); i++) 
      { 
      JSONObject movie_data = movieArray.getJSONObject(i); 
      aStr = aStr+","+movie_data.getString("cTitle"); 

      } 
      } finally { 
       aStrArray = aStr.split(","); 
       ListView list = (ListView) findViewById(R.id.linearLayout1); 
       list.setAdapter(new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, aStrArray)); 
       list.setTextFilterEnabled(true); 
      } 
} 
public void aMethod(View theButton) { 
    Intent i = new Intent(this,nowamovie.class);  
    startActivity(i); 
} 

}

的是amethod方法改變活動方式......

和下面的代碼是在第二個活動我的XML文件.. 。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_height="match_parent" 
android:layout_width="fill_parent" 
android:orientation="vertical" android:background="@drawable/pic_background"> 
<LinearLayout android:layout_height="wrap_content" 
android:layout_width="wrap_content" 
android:id="@+id/linearLayout1" > 
<ImageView android:layout_height="wrap_content" 
android:id="@+id/imageView1" 
android:layout_width="wrap_content" 
android:src="@drawable/ic_launcher"></ImageView> 
<TextView android:text="TextView" 
android:id="@+id/textView1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_marginLeft="6dip" 
android:layout_marginTop="6dip" 
android:textAppearance="?android:attr/textAppearanceLarge"> 
</TextView> 
</LinearLayout> 
<LinearLayout android:layout_height="wrap_content" 
android:layout_width="wrap_content" 
android:id="@+id/linearLayout1" 
android:orientation="horizontal"> 
<TextView android:id="@+id/textView2" 
android:text="TextView" 
android:layout_height="wrap_content" 
android:layout_width="wrap_content" 
android:textAppearance="?android:attr/textAppearanceSmall"> 
</TextView> 
<TextView android:text="TextView" android:id="@+id/textView3" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:textAppearance="?android:attr/textAppearanceSmall" 
android:layout_marginLeft="6dip"> 
</TextView> 
</LinearLayout> 

我應該如何將來自JSON解析器的數據放入此活動中?

回答

0

是的,你需要定製你的適配器和圖像加載應該是懶惰的,谷歌搜索列表中的圖像的懶惰實現,你會得到足夠的材料。在3.0中引入了一個新功能,即Loader,它爲你做這個懶加載工作。

+0

感謝您的幫助 – bbbbbird1 2012-01-09 05:10:03

相關問題