2011-07-29 20 views
0

drawable(レストランのロゴ)の数に等しいイメージボタンを持つシステムを実装しました。そのため、プレフィックス "rest"で始まるイメージをフィルタリングします。そのokまでここに。次に、私はGridWievを作成し、それにボタンを配置し、ルートレイアウトはRelativeLayoutです。ただし、コンパイル後にイメージボタンは表示されません。私のコードとXMLがあります。 ありがとうございました。ここ 相対レイアウトの問題

public class RestListActivity extends Activity{ 
    ImageButton [] buttons; 
    RelativeLayout rl; 
    int restCount=0; 
    Resources a; 
    int resIndex=0; 
    boolean resFound=false; 
    int last; 
    int resCount=0; 
    GridView gv; 
    // TODO Auto-generated constructor stub 
    @Override 
    public void onCreate (Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     rl = (RelativeLayout) findViewById(R.id.relativeLayoutRest); 
     if(rl==null) 
      Log.i("***********","RLOUT NULL AGA"); 
     else 
      Log.i("***********","RLOUT VAR AGA"); 
     setContentView(R.layout.restlist); 
     Log.i("asd","asd"); 

     gv=new GridView(this); 
     a=this.getResources(); 
     int i=0x7f020000; 
     boolean done=true; 
     if(rl==null) 
      Log.i("***********","RLOUT NULL AGA"); 
     else 
      Log.i("***********","RLOUT VAR AGA"); 
     Log.i("asd","asd"); 
     try 
     { 
      Log.i("rest buttons","______"); 
      for (i=0x7f020000 ;done&&i<0x7f020040;i++) 
      { 
       Log.i("rest buttons","----"); 
       String name=a.getResourceName(i); 
       name=name.substring(name.indexOf(':')+1); 
       name=name.substring(9); 
       if(name.startsWith("rest")) 
       { 
        if(!resFound) 
        { 
         resIndex=i; 
         resFound=true; 
        } 
        Log.i("rest buttons",name); 

        resCount++; 
       } 
      } 
     } 
     catch(Exception e) 
     { 
      last=i; 
      Log.i("LAST",i+""); 
      done=false; 
      e.printStackTrace(); 
     } 
     buttons=new ImageButton[resCount]; 
     Button orderButton = (Button)findViewById(R.id.adbutton); 
     orderButton.setText("REKLAMLAR"); 
     orderButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 
       Log.i("ACTION","AD BUTTON CLICKED"); 
       try 
       { 
        Intent i = new Intent(RestListActivity.this,AVMSystemActivity.class); 
        startActivity(i); 
       } 
       catch(Exception e) 
       { 
        Log.i("cort",e.toString()); 
       } 
      } 
     }); 
     if(rl==null) 
      Log.i("------------","RLOUT NULL AGA"); 
     else 
      Log.i("------------","RLOUT VAR AGA"); 
     //************************************************************************************ 

//************************************************************************************ 
     for(int j=resIndex,f=0;j<resIndex+resCount;j++,f++) 
     { 
      try 
      { 
       Log.i("rest buttons","XXXXX"); 
       String name=a.getResourceName(j); 
       name=name.substring(name.indexOf(':')+1); 
       name=name.substring(9); 
       if(name.startsWith("rest")) 
       { 
        Log.i("BUTTON NAME",name); 
        buttons[f]=new ImageButton(this); 
        buttons[f].setImageDrawable(a.getDrawable(j)); 
        buttons[f].setOnClickListener(new View.OnClickListener() { 
         public void onClick(View view) { 
          Log.i("ACTION","BUTTON CLICKED"); 
         } 
        }); 
        //imageView.setImageDrawable(a.getDrawable(i));//------ 
        //imageView.setBackgroundDrawable(a.getDrawable(i)); 
        gv.addView(buttons[f], f); 
       } 
      } 
      catch(Exception e) 
      { 
       e.printStackTrace(); 
       break; 
      } 
     } 
     if(rl==null) 
      Log.i("RLRLRL","NULL"); 
     if(gv==null) 
      Log.i("GVGVGV ","NULL"); 
     rl.addView(gv); 

    } 


} 

はXML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/relativeLayoutRest" 
    android:layout_width="fill_parent" android:layout_height="fill_parent"> 
    <Button android:layout_alignParentLeft="true" 
     android:layout_width="50px" android:id="@+id/adbutton" 
     android:layout_height="fill_parent" android:text="R\nE\nK\nL\nA\nM\nL\nA\nR" 
     android:textStyle="bold"></Button> 
    <ScrollView android:id="@+id/scrollViewRest" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
     <LinearLayout android:id="@+id/linearLayoutRest" android:paddingLeft="50px" android:layout_height="fill_parent" android:layout_width="fill_parent"></LinearLayout> 
    </ScrollView> 
</RelativeLayout> 

答えて

0

書き込みこのライン

RL =(RelativeLayout)findViewById(R.id.relativeLayoutRest)です。

この行の後setContentView(R.layout.restlist);

+0

ur right私はすでに何らかの形でこれを行っていましたが、以前のバージョンのコードをコピーしました。それはちょうどあなたに言ったように。残りは同じです。何も表示されません。 xmlにあったボタンだけが左端に表示されますが、グリッドのimagebuttonsは表示されません。 – dramaticlook

+0

何度も何度もエラーが発生する "Log.i("残りのボタン "、名前);" –

+0

その11回印刷されます。私はイメージの数を計算しながらそれを印刷します。今私はそれがLog.i( "BUTTON NAME"、名前)を印刷することを認識しました。それ以降はただちにエラーをキャッチします。私はそのthxを解決しようとします:) – dramaticlook

関連する問題