मेरी सूची दृश्य पॉपअपविंडो के अंदर है।पॉपअपविंडो ऑनिटैक्लिक में एंड्रॉइड लिस्टव्यू कुछ डिवाइस पर काम नहीं करता
जब मैंने पॉपअपविंडो दिखाया और डिवाइस ASUS K00z फोनेपैड वर्क में सूची दृश्य पंक्ति पर क्लिक किया।
लेकिन एचटीसी Z715e में काम नहीं कर रहा (क्लिक करें onitem नहीं निकाल घटना)
1.This मेरी सूचीदृश्य आइटम लेआउट है
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ln_testpopitemcon"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="52dp"
android:background="#3b8ed4"
android:descendantFocusability="blocksDescendants">
<ImageView
android:id="@+id/img_testiconmenu"
android:layout_margin="10dp"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/radio_selected"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"/>
<TextView
android:id="@+id/tv_testtitlemenu"
android:gravity="left|center_vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"/>
</LinearLayout>
2. इस मेरी पॉपअप लेआउट है
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ln_testpopocontainer"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:paddingBottom="2dp"
android:id="@+id/lv_testpop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="singleChoice"
android:dividerHeight="2dp"
android:background="#00000000"
android:orientation="vertical"/>
</LinearLayout>
3. यह मेरा एडाप्टर
public class testmenuadapter extends BaseAdapter{
private Context context;
private ArrayList<MenuInfo> MenuList;
private LayoutInflater Layf;
public testmenuadapter(Context context, ArrayList<MenuInfo> menuList){
this.context = context;
this.MenuList = menuList;
this.Layf = LayoutInflater.from(context);
}
@Override
public int getCount() {
return MenuList.size();
}
@Override
public Object getItem(int position) {
return MenuList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = Layf.inflate(R.layout.testpopoitem, null);
holder.img_testiconmenu = (ImageView)convertView.findViewById(R.id.img_testiconmenu);
holder.tv_testtitlemenu = (TextView)convertView.findViewById(R.id.tv_testtitlemenu);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder)convertView.getTag();
}
MenuInfo info = MenuList.get(position);
if(info != null) {
if (holder.tv_testtitlemenu != null) {
holder.tv_testtitlemenu.setText(info.getTitle());
}
}
return convertView;
}
public class ViewHolder
{
ImageView img_testiconmenu;
TextView tv_testtitlemenu;
}
}
4. इस कोड मैं बनाने के लिए उपयोग और शो पॉपअप है
final View actionview = inflater.inflate(R.layout.testpopo, (ViewGroup)getActivity().findViewById(R.id.ln_testpopocontainer));
this.testpopup = new PopupWindow(actionview, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
this.testpopup.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
this.testpopup.setOutsideTouchable(false);
this.testpopup.setAnimationStyle(R.style.Animation);
this.testpopuplistview = (ListView)this.testpopup.getContentView().findViewById(R.id.lv_testpop);
this.testmenupopup = new ArrayList<MenuInfo>();
this.testmenupopup.add(new MenuInfo("aaa", "AAA", 0, 0, false));
this.testmenupopup.add(new MenuInfo("bbb", "BBB", 0, 0, false));
this.testmenupopup.add(new MenuInfo("ccc", "CCC", 0, 0, false));
this.testpopadapter = new testmenuadapter(getActivity(), this.testmenupopup);
this.testpopuplistview.setAdapter(this.testpopadapter);
this.testpopuplistview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
Toast.makeText(getActivity(), ((MenuInfo)adapterView.getItemAtPosition(position)).getTitle(), Toast.LENGTH_LONG).show();
}
});
Button btnshowpop = (Button)findViewById(R.id.btn_showpop);
btnshowpop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
testpopup.showAtLocation(rootView, Gravity.CENTER, 0, 0);
}
});
यह
संपादित मैं अपने समस्या को हल कर सकते हैं हल करने के लिए कैसे।
this.testpopup = new PopupWindow(actionview, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true);
अपशिष्ट समय के लिए खेद के साथ बदलें
this.testpopup = new PopupWindow(actionview, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
मैं बहुत मूर्ख हूँ।
मैं अपने समस्या को हल कर सकते हैं तो कृपया नीचे देख प्रश्न में संपादित करें। – user2955394
बहुत बहुत धन्यवाद, मैं अपने सिर को दो दिनों से खरोंच कर रहा था, और अंत में मुझे आपका समाधान मिला, यह कमाल काम करता है। –
धन्यवाद!यह मेरा समय बचाया – Dima