2011-12-05 4 views
0

가능한 중복 : 나는 URL에서 데이터를 가져와 표시합니다 응용 프로그램 다음 한
nullPointerException in multi column list디스플레이 데이터

.

문제는 다양한 행으로 구성된 목록의 출력을 얻는 것입니다.

이제 행 데이터를 다음과 같이 4 개 열로 나누고 싶습니다.

SBIN ;1911.05;1886.85;1.28은 단일 요소가 아닌 1 열 내에 4 개의 열 (';'로 구분)로 표시되어야합니다. 참조 할 수 있도록이 스크린 샷을 참조 :

Screenshot of the app

ReadWebPageAsyncTask.java

public class ReadWebpageAsyncTask extends Activity { 
    private EditText ed; 
    private ListView lv; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     ed = (EditText) findViewById(R.id.ed); 
     lv = (ListView) findViewById(R.id.list); 
     DownloadWebPageTask task = new DownloadWebPageTask(); 
     task.execute(new String[] { "http://abc.com/default.aspx?id=G" }); 
    } 

    private class DownloadWebPageTask extends AsyncTask<String, Void, String> { 
     @Override 
     protected String doInBackground(String... urls) { 
      String response = ""; 
      for (String url : urls) { 
       DefaultHttpClient client = new DefaultHttpClient(); 
       HttpGet httpGet = new HttpGet(url); 
       try { 
        HttpResponse execute = client.execute(httpGet); 
        InputStream content = execute.getEntity().getContent(); 

        BufferedReader buffer = new BufferedReader(
          new InputStreamReader(content)); 
        String s = ""; 
        while ((s = buffer.readLine()) != null) { 
         response += s; 
        } 

       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
      return response; 
     } 

     @Override 
     protected void onPostExecute(String result) { 
      int sub = result.lastIndexOf('@', result.length() - 1); 
      String s1 = result.substring(0, sub); 
      String s = s1.replace(";", " - "); 
      String arr[] = s.split("@");  
      lv.setAdapter(new ArrayAdapter<String>(ReadWebpageAsyncTask.this, 
        android.R.layout.simple_list_item_1, arr)); 
     } 
    } 
} 

을이 링크를 확인하시기 바랍니다

nullPointerException in multi column list


이렇게하면 멀티 컬럼 목록을 사용하는 것이 대단합니다. 대신에 나는 this을 시도하고 일 ..

+0

그것이있는 tableView를 사용하여 수행 할 수 있습니까? – GAMA

+0

다중 열 목록보기를 사용해 보셨습니까? – user370305

+0

Creat customView 수 있습니다. 각 행마다 customview에서 4 개의 textview를 선언하고 해당 textViews에서 데이터를 설정합니다. – bindal

답변

1

사용 안드로이드 테이블 레이아웃

Reference

+0

그러나 각 테이블 행의 4 열의 각각에 데이터를 삽입하는 것은 두통 일 것입니다. – GAMA

+0

이 방법으로 다중 열 목록을 사용하는 것은 대단한 일입니다. 대신에 나는 http://stackoverflow.com/questions/8411101/nullpointerexception-in-multi-column-list-using-hashmap을 시도했고 효과가 있었다. 현재 접근법을 사용하는 문제는 변수 위치의 값이 단지 1만큼 증가한다는 것이다. 내 경우에는 getView() 메소드가 호출 될 때마다 필자는 4 개의 열을 가지므로 이상적으로 1보다 4가 증가해야합니다. 위치를 4 씩 증가 시키려고해도 일부 중간 데이터는 건너 뜁니다. 더 나은 방법은 hashmap을 사용하는 것입니다. – GAMA

관련 문제