2012-07-21 74 views
-1

我想提出一個網格佈局,並希望把它放在一個警告dialog.but當我嘗試用show()來顯示警告對話框中,但警告對話框不顯示GridView。相反,它正顯示出在前面的對話框,並在其中電網項目不clickable.Here是編碼後臺GridView警告對話框不工作

public class GridViewActivity extends Activity { 


Context context; 
View layout; 
static final String[] MOBILE_OS = new String[] { "timer", "about"}; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    GridView gridView = (GridView)findViewById(R.id.gridView1); 
    gridView.setAdapter(new ImageAdapter(this, MOBILE_OS)); 
    gridView.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View v, 
       int position, long id) { 

      if(position == 0){ 
       Toast.makeText(GridViewActivity.this, "first icon is pressed", Toast.LENGTH_SHORT).show(); 
      } 
      else if(position == 1){ 
       Toast.makeText(GridViewActivity.this, "second icon is pressed", Toast.LENGTH_SHORT).show(); 
      } 
     }}); 
    Dialog(); 
} 
public void Dialog(){ 

    AlertDialog alertDialog; 
    Context mContext = GridViewActivity.this; 

    AlertDialog.Builder builder = new AlertDialog.Builder(GridViewActivity.this); 
    LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE); 

    View layout = inflater.inflate(R.layout.main,null); 

    builder.setView(layout); 
    alertDialog = builder.create(); 
alertDialog.show(); 
    } 

} 

請告訴我如何解決這個問題。

回答

0

只需編輯爲:

gridView.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View v, 
      int position, long id) { 

     if(position == 0){ 
      Toast.makeText(GridViewActivity.this, "first icon is pressed", Toast.LENGTH_SHORT).show(); 
     } 
     else if(position == 1){ 
      Toast.makeText(GridViewActivity.this, "second icon is pressed", Toast.LENGTH_SHORT).show(); 
     } 
     ............... 
     Dialog(); // You Have called this method OUT-SIDE the click event 
     ....................... 
    }}); 
+0

抱歉,但它無法正常工作 – 2012-07-21 11:50:02