Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android setId(整数值)给了我视图错误_Android_Android Layout - Fatal编程技术网

Android setId(整数值)给了我视图错误

Android setId(整数值)给了我视图错误,android,android-layout,Android,Android Layout,大家好,我已经实现了自定义的simpleCursorAdapter,它的视图与另一个视图合并以创建所需的页面,但当我尝试为列表视图记录的每个按钮设置id时,它会给我一个视图错误 一半的逻辑来自此链接: 我的自定义视图的其他部分代码如下所示: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout

大家好,我已经实现了自定义的simpleCursorAdapter,它的视图与另一个视图合并以创建所需的页面,但当我尝试为列表视图记录的每个按钮设置id时,它会给我一个视图错误

一半的逻辑来自此链接:

我的自定义视图的其他部分代码如下所示:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);    
        setContentView(R.layout.fr1);


        Cursor c = getContentResolver().query(People.CONTENT_URI,
                null, null, null, null);
                startManagingCursor(c);
                String[] cols = new String[]{People.NAME};
                int[] names = new int[]{R.id.FriendsName};

        SimpleCursorAdapter rows = new MyAdapter(this,R.layout.flistview,c,cols,names);
        setListAdapter(rows);           
    }

public class MyAdapter extends SimpleCursorAdapter{

        public DisplayFriendsAdapter(Context context, int layout, Cursor c, String[] from, int[] to) {
            super(context, layout, c, from, to);
        }

        public View getView(int position, View convertView, ViewGroup parent){
            View view = super.getView(position, convertView, parent);
            ImageButton Btn1 = (ImageButton)view.findViewById(R.id.Button1);
            Btn1.setId(position);
            ImageButton Btn2 = (ImageButton)view.findViewById(R.id.Button2);
            Btn2.setId(position);
            Btn1.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    Log.i("Accepted", "clicked"+v.getId());

                }
            }); 

            Btn2.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {


                }
            }); 
            return view;
        }
    }

不需要设置按钮的ID。它的ID已经在UI的XML中定义,并作为常量放在R.java中,作为R.ID.Button1。只需删除那些。setID。。。代码行。

现在,当我尝试在onCreate方法和Btn1.setIdposition中设置ContentViewr.layout.fr1时,它会给我一个错误,是吗?正如我之前所说,我已经合并了2个视图,这意味着我的游标适配器的1个视图,以及包含搜索框和列表视图的其他视图,如上面的链接所示感谢您的响应,但是我如何检测特定记录的这个特定按钮被按下,在上面的例子中,我必须把朋友列表放在联系人的位置,然后点击特定朋友的记录按钮,我必须显示他的其他详细信息,告诉我该怎么做?好的,让我这边来看看,我有很多朋友,我已经在cusomized SimpleCorsorAdapter中列出了他们,如上所示,现在这些数据将由服务器提供,服务器将向我提供每个人的用户id,我必须附加这些id,所以当用户单击任何记录的详细信息按钮时,我可以告诉服务器此用户id记录已被单击,我需要他的信息,然后将用户重定向到下一页,所以现在我如何区分。再次感谢您的回复。当我点击列表中的任何一条btn1时,它会给我2131034138 clickedby View.getId,而点击列表中的其他按钮会返回我的id 2131034138,因此我无法区分选中的记录。