如何在列表视图中看到多个按钮在一个按钮上点击android?

时间:2011-09-22 09:30:52

标签: android

我做了一个布局,在这个布局中,一个按钮在标题中,现在我希望当用户点击列表视图中的标题按钮时,多个按钮变为可见。我怎样才能做到这一点?请回复

public View getView( final int position, View convertView, ViewGroup parent) {
        String mText = mlist.get(position);
        LayoutInflater vi = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
        convertView = vi.inflate(R.layout.custom_will, null);
        TextView txt = (TextView) convertView
                .findViewById(R.id.txtcustomwill);
        final Button deletbtn = (Button)convertView.findViewById(R.id.btndelete);
        Button bt = (Button)convertView.findViewById(R.id.btnchange);
        Log.v("palak", "bar         "  + position  );
            txt.setText(mText);
            lv.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> arg0, View v,
                        int position, long Id) {
                    if(position == 0){
                    dba = DBAdapter.getDBAdapterInstance(getApplicationContext());
                    try {
                        dba.createDataBase();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    if (save) {
                    sqldb = dba.openDataBase();
                    ContentValues cv = new ContentValues();
                    cv.put("todayDate", "UnNamed Entry");
                    cv.put("fname", "UnNamed Entry");
                    cv.put("sname", "UnNamed Entry");
                    cv.put("add1", "UnNamed Entry");
                    cv.put("add2", "UnNamed Entry");
                    cv.put("add3", "UnNamed Entry");
                    cv.put("pcode", "UnNamed Entry");
                    sqldb.insert("urdet", null,cv);
                    cv.clear();
                    Toast.makeText(getApplicationContext(), "inserted", Toast.LENGTH_SHORT).show();
                    }
                    dba.close();
                    Intent i = new Intent(Yourwill.this, Section.class);
                    startActivity(i);
                    finish();
                }
                else
                {
                    Willdto.setposition(Integer.parseInt(aId.get(position)));
                    Intent i = new Intent(Yourwill.this, Section.class);
                    startActivity(i);
                    finish();
                }
                }

            });
            deletbtn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    SQLiteDatabase sqldb = dba.openDataBase();
                    String[] arr = { "" + aId.get(position) };
                    sqldb.delete("urdet", "Id = ?", arr);
                    Toast.makeText(getApplicationContext(), "Delete", Toast.LENGTH_SHORT).show();
                    Log.v("log_tag", "pos   " + aId.get(position));
                    dba.close();
                    Intent i = new Intent(Yourwill.this,Yourwill.class);
                    startActivity(i);
                    finish();
                }
            });
            bt.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    deletbtn.setVisibility(View.VISIBLE);
                }
            });

        return convertView;
    }

}

1 个答案:

答案 0 :(得分:2)

这样做的方法是

  1. 使用属性android:visibility =“gone”
  2. 创建这些按钮
  3. 在top按钮的onClick处理程序中,使用setVisibility(View.VISIBLE)更改可见性