2017-02-28 14 views
0

내 gridview에 문제가 있습니다. 내 alertbox에 내 gridview를 삽입하지만 내 setOnitemClickListener의 함수가 경고 상자에서 작동하지 않습니다. 어떻게 gridview에 대한 alertbox에 setOnitemClickListener를 적용 할 수 있습니다. 이 문제Android Gridview setOnitemClicklisterner 경고 대화 상자에 함수가 없습니다.

LayoutInflater li = LayoutInflater.from(getActivity()); 
      View promptsView = li.inflate(R.layout.prompt_quantity, null); 
      final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity()); 
      // set prompts.xml to alertdialog builder 
      alertDialogBuilder.setView(promptsView); 
      final GridView modifiergridview = (GridView) promptsView.findViewById(R.id.modifiergridview); 
      modifierList = db.getModifierName(pName); 
      modifiergridview.setAdapter(new Modifierlist()); 

      modifiergridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
         Toast.makeText(getActivity(), "test", Toast.LENGTH_SHORT).show(); 
       } 
       }); 


       alertDialog.show(); 
       alertDialog.getWindow().setLayout(2000, 2000); 



     } 
}); 

Modifierlist.java

public class Modifierlist extends BaseAdapter { 

    LayoutInflater mInflater; 

    private ArrayList<Integer> positions = new ArrayList<Integer>(); 

    public ArrayList<Integer> getPositions() { 
     return positions; 
    } 

    public Modifierlist() { 
     mInflater = LayoutInflater.from(getActivity()); 
    } 

    @Override 
    public int getCount() { 
     return modifierList.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return null; 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 

    @Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 

     if (convertView == null) { 
      convertView = mInflater.inflate(R.layout.modifierlistview, null); 
     } 
     modifiername = (Button) convertView.findViewById(R.id.modifierbutton); 

     Modifier myObj = modifierList.get(position); 
     modifiername.setText("" + myObj.getModifierName()); 


     return convertView; 
    } 
} 
+0

Modifierlist를 붙여주세요() 클래스 코드에 modifiername에 OnClickListener를 설정? –

답변

0

는 어댑터 클래스

modifiername.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Toast.makeText(getActivity(), "test", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
+0

감사합니다. 그것은 –

+0

작동하지만 기본적으로 잘 작동 내 gridview에 대한 setOnitemClickListener를 사용 –

+0

왜 alertbox에 gridview 문제가 무엇입니까? –

0

사용 대화 대신에 AlertDialog.Builder에 대한 어떤 제안.

+0

덕분에 AlertDialog.Builder를 사용하기 때문에 내 XML 디자인 레이아웃을 묻는 메시지가 표시됩니다. –

+0

대화 상자에서 xml 디자인을 사용할 수도 있습니다 ** dialog.setView (R.layout.dialog_layout); ** –