2013-06-06 16 views
0

我'試圖在我的項目一個XML文件,該文件包含實現:一個TextView,GridView控件和一個返回按鈕,但這裏的代碼:如何使用使用網格視圖和滾動和按鈕進行

<?xml version="1.0" encoding="UTF-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:mask="http://schemas.android.com/apk/res/br.com.example.sgm" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/Black" 
    android:screenOrientation="portrait" > 



    <TextView 
    android:id="@+id/TextView01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="20dp" 
    android:layout_marginTop="10dp" 
    android:text="Código     Data" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="@color/LSGray" /> 






    <Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="410dp" 
    android:onClick="bvoltar" 
    android:text="  Voltar  " 
    android:textColor="@color/Snow" /> 

    <ScrollView 
    android:id="@+id/scrollView1" 
    android:layout_width="fill_parent" 
    android:layout_height="350dp" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="50dp" > 

    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 



    <GridView 
    android:id="@+id/gridview" 
    android:layout_width="match_parent" 
    android:layout_height="345dp" 
    android:numColumns="1" > 

    </GridView> 

    </LinearLayout> 
    ScrollView> 

</RelativeLayout> 

這應該在頂部是一個小文本,一個網格顯示一個數據庫表中的字段,一個按鈕退出,在網格內滾動......但是當我運行該項目並轉到此屏幕時,滾動不工作,網格加載和顯示entrys,但如果嘗試移動滾動這關閉我的apk,任何人都知道如何修復它?

這裏的適配器:

public class DataAdapter extends BaseAdapter 

{ 

    Context mContext; 


//  
//  private String [] codigo = new String[100]; 
//  private String [] data = new String[100]; 

    private LayoutInflater mInflater; 

    public int cont; 

    public DataAdapter(Context c) 

    { 

     mContext=c; 

     mInflater = LayoutInflater.from(c); 

    } 

    public int getCount() 

    { 
     PersistenceHelper per = PersistenceHelper.getInstance(mContext); 
     List<Ocorrencia> lOco; 
      lOco = per.listarOcorrencia(); 
     return lOco.size(); 

    } 

    public Object getItem(int position) 

    { 

     return position; 

    } 

    public long getItemId(int position) 

    { 

     return position; 

    } 

    public View getView(int position, View convertView, ViewGroup parent) 

    { 

     ViewHolder holder=null; 

     if(convertView==null) 

     { 

       convertView = mInflater.inflate(R.layout.customgrid, 
                   parent,false); 

       holder = new ViewHolder(); 

       holder.txtCodigo=(TextView)convertView.findViewById(R.id.txtCodigo); 

       holder.txtCodigo.setPadding(10, 10, 10 , 10); 

       holder.txtData=(TextView)convertView.findViewById(R.id.txtData); 

       holder.txtData.setPadding(10, 10, 10, 10); 

       if(position==0) 

       {        

         convertView.setTag(holder); 

       } 

     } 

     else 

     { 

       holder = (ViewHolder) convertView.getTag(); 

     } 
     PersistenceHelper per = PersistenceHelper.getInstance(mContext); 

     List<Ocorrencia> lOco = per.listarOcorrencia(); 
     setCont(lOco.size()); 

     String [] codigo = new String[getCont()]; 
     String [] data = new String[getCont()]; 

     for(int x=0; x<getCont(); x++){ 
      codigo[x] = lOco.get(x).getCodigo(); 
      data[x] = lOco.get(x).getData(); 
      } 

     holder.txtCodigo.setText(codigo[position]); 

     holder.txtData.setText(data[position]); 

     getCount(); 

     return convertView; 


    } 

    static class ViewHolder 

    {   

     TextView txtCodigo;   

     TextView txtData;    

    } 

public int getCont() { 
    return cont; 
} 

public void setCont(int cont) { 
    this.cont = cont; 
} 



} 

,如果是必要的......

<LinearLayout 

xmlns:android="http://schemas.android.com/apk/res/android" 

android:layout_width="fill_parent" 

android:layout_height="fill_parent" 

android:orientation="vertical"> 

<TableLayout android:id="@+id/TableLayout01" 

      android:layout_height="wrap_content" 

      android:layout_width="fill_parent"> 


    <TableRow 
     android:id="@+id/TableRow01" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" > 




    <TextView 
     android:id="@+id/txtCodigo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:text="Codigo" 
     android:textColor="@color/LSGray" /> 


    <TextView 
     android:id="@+id/txtData" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:text="     Data" 
     android:textColor="@color/Snow" /> 

    </TableRow> 

</TableLayout> 

</LinearLayout> 

不會對logcat的一個原因這個錯誤的代碼我有變化的東西,但問題是,因爲是不是更接近,但是,這只是從數據庫的entrys顯示一小塊,並沒有顯示所有的entrys,我不能改變gridview填充父寬度和高度,我怎麼可以把網格增加大小每個新的entrys ?

UPDATE 1
當我通過MM-BB答案刪除滾動型
logcat的錯誤:

06-06 05:14:17.287: E/AndroidRuntime(828): FATAL EXCEPTION: main 
06-06 05:14:17.287: E/AndroidRuntime(828): java.lang.NullPointerException 
06-06 05:14:17.287: E/AndroidRuntime(828): at com.example.sgm.DataAdapter.getView(DataAdapter.java:125) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.widget.AbsListView.obtainView(AbsListView.java:2255) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.widget.GridView.makeAndAddView(GridView.java:1331) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.widget.GridView.makeRow(GridView.java:331) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.widget.GridView.fillDown(GridView.java:283) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.widget.GridView.fillGap(GridView.java:243) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5040) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3197) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.widget.AbsListView.onTouchEvent(AbsListView.java:3471) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.View.dispatchTouchEvent(View.java:7127) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2170) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1905) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) 
06-06 05:14:17.287: E/AndroidRuntime(828): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) 
+1

你可以爲你的gridview顯示你的adpater類嗎?並請發佈您的錯誤日誌。 –

回答

0

1的GridView不需要滾動視圖這是當你在滾動視圖使用gridview的日食顯示警告

The vertically scrolling ScrollView should not contain another vertically scrolling widget (GridView) 

2變ScrollView></ScrollView>

+0

@ Marcelo Vilas Boas Marin如果你刪除scrollview,你的問題就會解決 –

+0

我試過這個東西,我刪除了scrollview,並且我在網格視圖上放了一個相對活動,但logcat報告的這個(我會用logcat編輯錯誤) : –

+0

Saddly沒有解決= \ ....我仍然有問題,現在應用程序轉回到關閉,當嘗試點擊並滾下屏幕,與logcat錯誤,我編輯的主題...我需要,在一個空間中,我可以滾動每個條目的gridview,例如:50個代表,從第一個到最後一個滾動屏幕,在屏幕的最後退出。 –

相關問題