2017-10-17 17 views
0

リストビューがあり、その中にいくつかの値を表示したいのですが、接続はエラーなく行われますが、リストビューには値が表示されません。間違っている、私のコードは私を助けてください以下です。私はcustomeadapterでいくつか間違っていたと思う..私のカスタムアダプターCustomAdapterViewDriverをチェックしてください。問題は、私のXMLファイルを使用していたリスト表示しない値を表示

My活動

public class PerformBargain extends ActionBarActivity { 
ListView UserDetails; 
JSONArray jsonArray; 
SendPostRequest mSendPostRequest; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_perform_bargain); 
    UserDetails=(ListView)findViewById(R.id.UserDetails); 
    mSendPostRequest= new SendPostRequest(); 
    mSendPostRequest.execute(); 



} 

class SendPostRequest extends AsyncTask<Void, Void, JSONArray> 
    { 

    String postData = ""; 

    HttpURLConnection httpURLConnection= null; 
    @Override 
    protected JSONArray doInBackground(Void... params) { 

     try { 
      Bundle bundle=getIntent().getExtras(); 
      String id=bundle.getString("ID"); 



      httpURLConnection= (HttpURLConnection) new URL("http://192.168.0.14:8080/GoodsServer/ViewRideDetails.jsp").openConnection(); 
      httpURLConnection.setRequestMethod("POST"); 
      httpURLConnection.setDoOutput(true); 

      DataOutputStream outputStream= new 
      DataOutputStream(httpURLConnection.getOutputStream()); 
      outputStream.writeBytes("id=" +id); 
      outputStream.flush(); 
      outputStream.close(); 

      InputStream in = httpURLConnection.getInputStream(); 
      InputStreamReader inputStreamReader = new InputStreamReader(in); 

      int inputStreamData = inputStreamReader.read(); 
      while (inputStreamData != -1) { 
       char currentData = (char) inputStreamData; 
       inputStreamData = inputStreamReader.read(); 
       postData += currentData; 
      } 
      jsonArray=new JSONArray(postData.trim()); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } finally { 
      if (httpURLConnection!= null) { 
       httpURLConnection.disconnect(); 
      } 
     } 

     return jsonArray; 




    } 

    @Override 
    protected void onPostExecute(JSONArray s) { 
     Toast.makeText(getApplicationContext(),postData,Toast.LENGTH_LONG).show(); 
     try{ 
       CustomAdapterViewDriver customAdapterViewDriver=new CustomAdapterViewDriver(PerformBargain.this,s); 
       UserDetails.setAdapter(customAdapterViewDriver); 

    }catch (Exception e) 
     { 

      System.out.print(e); 
     }} 


    } 

CustomAdapterViewDriverクラス

class CustomAdapterViewDriver extends BaseAdapter implements ListAdapter { 

String ids; 
TextView name,email,phone,Source,destination; 
private final Activity activity; 
private final JSONArray jsonArray; 

public CustomAdapterViewDriver(Activity activity, JSONArray jsonArray) { 
    assert activity != null; 
    assert jsonArray != null; 

    this.jsonArray = jsonArray; 
    this.activity = activity; 
} 


@Override public int getCount() { 

    return jsonArray.length(); 
} 

@Override public JSONObject getItem(int position) { 

    return jsonArray.optJSONObject(position); 
} 

@Override public long getItemId(int position) { 
    JSONObject jsonObject = getItem(position); 

    return jsonObject.optLong("id"); 
} 

@Override public View getView(int position, View view, ViewGroup parent) { 
    if (view == null) 
     view = activity.getLayoutInflater().inflate(R.layout.userviewforbargain, null); 
    JSONObject jsonObject = getItem(position); 
    name=(TextView)view.findViewById(R.id.namevu); 
    phone =(TextView)view.findViewById(R.id.phone); 
    email=(TextView)view.findViewById(R.id.email); 
    Source=(TextView)view.findViewById(R.id.sourceadderss); 
    destination=(TextView)view.findViewById(R.id.destinationaddress); 

    try{ 

     name.setText(jsonObject.getString("Name")); 
     phone.setText(jsonObject.getString("Phone")); 
     email.setText(jsonObject.getString("Email")); 
     Source.setText(jsonObject.getString("Source")); 
     destination.setText(jsonObject.getString("DestAdd")); 
    }catch(Exception e) 
    { 

     System.out.print(e); 

    } 
    return view; 


} 

}

userviewforbargain XMLの

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_height="wrap_content" 
android:layout_width="wrap_content" 
android:orientation="horizontal" 
> 
<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
> 
<TextView 
    android:layout_width="100dp" 
    android:layout_height="40dp" 

    android:text="Name" 
    android:textColor="#000" 
    /> 
<TextView 
    android:layout_width="100dp" 
    android:layout_height="40dp" 
    android:text="Phone" 

    android:textColor="#000" 
    /> 
<TextView 
    android:layout_width="100dp" 
    android:layout_height="40dp" 
    android:text="Email" 

    android:textColor="#000" 
    /> 
<TextView 
    android:layout_width="100dp" 
    android:layout_height="40dp" 
    android:text="SourceAdderss" 

    android:textColor="#000" 
    /> 
<TextView 
    android:layout_width="100dp" 
    android:layout_height="40dp" 
    android:text="Destination" 

    android:textColor="#000" 
    /> 
</LinearLayout> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:layout_marginLeft="50dp" 
    > 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:id="@+id/namevu" 
     android:hint="Name" 
     android:textColor="#000" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:hint="Phone" 
     android:id="@+id/phone" 
     android:textColor="#000" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:hint="Email" 
     android:id="@+id/email" 
     android:textColor="#000" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:hint="sourceadderss" 
     android:id="@+id/sourceadderss" 
     android:textColor="#000" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:hint="Destination" 
     android:id="@+id/destinationaddress" 
     android:textColor="#000" 
     /> 
    </LinearLayout> 

</LinearLayout> 

答えて

0

... I私のXMLに相対的なレイアウトを追加して、うまくいきました。

コード

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context="com.example.user.good_carriermacfast.PerformBargain" 
android:layout_height="wrap_content" 
android:layout_width="wrap_content" 
android:orientation="vertical" 
> 
<LinearLayout 
android:layout_width="110dp" 
android:layout_height="match_parent" 
android:orientation="vertical" 
> 
<TextView 
    android:layout_width="100dp" 
    android:layout_height="40dp" 

    android:text="Name" 
    android:textColor="#000" 
    /> 
<TextView 
    android:layout_width="100dp" 
    android:layout_height="40dp" 
    android:text="Phone" 

    android:textColor="#000" 
    /> 
<TextView 
    android:layout_width="100dp" 
    android:layout_height="40dp" 
    android:text="Email" 

    android:textColor="#000" 
    /> 
<TextView 
    android:layout_width="100dp" 
    android:layout_height="40dp" 
    android:text="SourceAdderss" 

    android:textColor="#000" 
    /> 
<TextView 
    android:layout_width="100dp" 
    android:layout_height="40dp" 
    android:text="Destination" 

    android:textColor="#000" 
    /> 
</LinearLayout> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:layout_marginLeft="110dp" 
    > 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:id="@+id/namevu" 
     android:hint="Name" 
     android:textColor="#000" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:hint="Phone" 
     android:id="@+id/phone" 
     android:textColor="#000" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:hint="Email" 
     android:id="@+id/email" 
     android:textColor="#000" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:hint="sourceadderss" 
     android:id="@+id/sourceadderss" 
     android:textColor="#000" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="40dp" 
     android:hint="Destination" 
     android:id="@+id/destinationaddress" 
     android:textColor="#000" 
     /> 
</LinearLayout> 

</RelativeLayout> 
+0

私は以下のビューがmatch_parentている間、あなたの元には、wrap_contentとのLinearLayoutあったという事実に関係する方だったと推測しています。 トップレイアウトを変更しただけでなく、次のLinearLayoutをlayout_width = "110dp"に変更しました。 – Mars

関連する問題