2015-07-09 1 views
0

У меня есть один TableLayout, и я создал некоторый TableRow в программном виде. У меня есть jsons и я разбираю его в моем TableRow. теперь я хочу, чтобы добавить линии между горизонтально раст TableRow .I Искал и нашел несколько примеров, но я не могу добавить его это мой источникandroid TableLayout Горизонтальные линии между TableRow

<LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="5dip" > 

      <TableLayout 
       xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/country_table" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:shrinkColumns="*" 
       android:stretchColumns="*" > 
      </TableLayout> 
     </LinearLayout> 

и это код мой Java

public void makeFullProductListRequest() { 

    JsonObjectRequest jsonObjReq = new JsonObjectRequest(
      Method.GET, 
      "*********", 
      null, new Response.Listener<JSONObject>() { 

       @Override 
       public void onResponse(JSONObject response) { 
        // Log.e("TAG", response.toString()); 
        try { 

         JSONArray mainjsonArray = response 
           .getJSONArray("Items"); 
         for (int i = 0; i < mainjsonArray.length(); i++) { 

          JSONObject j_object = mainjsonArray 
            .getJSONObject(i); 
          ScheduleClass model = new ScheduleClass(); 

          model.setPaymentDate(j_object 
            .getString("PaymentDate")); 
          Log.e("PaymentDate", 
            j_object.getString("PaymentDate")); 



          row = new TableRow(getApplicationContext()); 
          //row2 = new TableRow(getApplicationContext()); 

          view = new View(MainActivity.this); 
          view.setBackgroundColor(Color.parseColor("#ff0000")); 

          view.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, 5)); 

          PaymentNumber = new TextView(
            getApplicationContext()); 
          PaymentDate = new TextView(
            getApplicationContext()); 
          Principal = new TextView(
            getApplicationContext()); 

          Percent = new TextView(getApplicationContext()); 
          BasePercent = new TextView(
            getApplicationContext()); 
          Insurance = new TextView(
            getApplicationContext()); 

          ServiceFee = new TextView(
            getApplicationContext()); 
          Payment = new TextView(getApplicationContext()); 

          PaymentNumber.setText(String.valueOf(i + 1)); 
          PaymentDate.setText(j_object 
            .getString("PaymentDate")); 
          Principal.setText(j_object 
            .getString("Principal")); 

          Percent.setText(j_object.getString("Percent")); 



          PaymentNumber.setTypeface(null, 1); 
          PaymentDate.setTypeface(null, 1); 
          Principal.setTypeface(null, 1); 



          PaymentNumber.setTextSize(19); 
          PaymentDate.setTextSize(19); 
          Principal.setTextSize(19); 



          PaymentNumber.setWidth(50 * dip); 
          PaymentDate.setWidth(110 * dip); 
          // t3.setWidth(150 * dip); 
          Principal.setWidth(110 * dip); 



          row.addView(PaymentNumber); 
          row.addView(PaymentDate); 
          row.addView(Principal); 


          row.addView(view); 

          country_table.addView(row, 
            new TableLayout.LayoutParams(
              LayoutParams.WRAP_CONTENT, 
              LayoutParams.WRAP_CONTENT)); 


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

        // FullProductListTableasynct.execute(); 
       } 
      }, new Response.ErrorListener() { 

       @Override 
       public void onErrorResponse(VolleyError error) { 
        VolleyLog.d("TAG", "Error: " + error.getMessage()); 
        Toast.makeText(getApplicationContext(), 
          error.getMessage(), Toast.LENGTH_SHORT).show(); 
        // hide the progress dialog 
        // hidepDialog(); 
       } 
      }); 

    // Adding request to request queue 
    AppController.getInstance().addToRequestQueue(jsonObjReq); 

    jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(20000, 
      DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
      DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 
} 

ли я сказал, что я могу показать мой JSON в TableRow, но я не могу добавить горизонтальные линии между TableRows если кто-нибудь знает решение, пожалуйста, помогите мне спасибо

ответ

0

вы можете добавить горизонтальную линию с кодом ниже.

попробуйте это может помочь u.

private View createHorizontalLine() { 
    View view = new View(this); 
    LayoutParams linearLayout = new LinearLayout.LayoutParams(
      LayoutParams.MATCH_PARENT, 1); 

    view.setBackgroundColor(Color.parseColor("#AAAAAA")); 
    view.setLayoutParams(linearLayout); 

    return view ; 
} 


View viewHorizontal = createHorizontalLine(); 
yourLayout.addView(viewHorizontal); 
+0

не работает этот код :( – baggio

+0

таким образом u создайте свою собственную горизонтальную линию, пожалуйста, проверьте, что макет кода добавлен или нет ... –

+0

измените параметры макета Линейный на новый TableRow.LayoutParams (TableRow.LayoutParams.FILL_PARENT, 1) –

0

Попробуйте это вам поможет. Вставьте этот код

View v = new View(yourcurrentactivity.this); 
v.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT,1)); 
             v.setBackgroundColor(Color.parseColor("#b8b8b8")); 
main.addView(v); 

Основная информация представляет ваш макет, на который вы хотите раздуть этот вид.