繁体   English   中英

使项目在列表视图中变得模糊且不可点击

[英]make the item Blur and unclickable in List view android

我有一个列表视图。 像这样。 我要在加载活动时使列表视图中的第二项变得模糊或颜色更改。

在此处输入图片说明

这是我的代码

创建方法上的活动

  list_all_visits(schedule_id);

列表适配器

private void list_all_visits(int schedule_id){

    mvisitsDAO =new VisitsDAO(getApplicationContext());
    ListVisits = mvisitsDAO.getAllvisitsforSchedule(schedule_id);

    ArrayAdapter<Visits> adapter = new ArrayAdapter<Visits>(this, R.layout.schedule_layout_list, R.id.tv_text1, ListVisits);
    setListAdapter(adapter);
}

访问DAO

包lk.agent.certislanka.certisagenttracking.data;

/ ** *由管理员在15年7月7日创建。 * /导入android.content.ContentValues; 导入android.content.Context; 导入android.database.Cursor; 导入android.database.sqlite.SQLiteDatabase; 导入android.util.Log;

导入java.sql.SQLException; 导入java.util.ArrayList; 导入java.util.List;

导入lk.agent.certislanka.certisagenttracking.model.Visits;

/ ** *由管理员在15年7月6日创建。 * /公开课VisitsDAO {

public static final String TAG = "visitsDAO";


// Database fields
private SQLiteDatabase mDatabase;
private DBHelper mDbHelper;
private Context mContext;
private String[] mAllColumns = {
        DBHelper.COLUMN_VISITS_ID,
        DBHelper.COLUMN_VISITS_SCHEDULE_ID,
        DBHelper.COLUMN_VISITS_NAME,
        DBHelper.COLUMN_VISITS_TIME,
        DBHelper.COLUMN_VISITS_PLACE,
        DBHelper.COLUMN_VISITS_ADDRESS,
        DBHelper.COLUMN_VISITS_TEL,
        DBHelper.COLUMN_VISITS_LOCATION_LAT,
        DBHelper.COLUMN_VISITS_LOCATION_LNG,
        DBHelper.COLUMN_VISITS_STATUS  };

public VisitsDAO(Context context) {
    this.mContext = context;
    mDbHelper = new DBHelper(context);
    // open the database
    try {
        open();
    } catch (SQLException e) {
        Log.e(TAG, "SQLException on openning database " + e.getMessage());
        e.printStackTrace();
    }
}

public void open() throws SQLException {
    mDatabase = mDbHelper.getWritableDatabase();
}

public void close() {
    mDbHelper.close();
}

public Visits createvisits(int vid, int v_sid, String vname, String vtime, String vplace, String address, String telephone, String vlat, String vlong, int vstatus) {
    ContentValues values = new ContentValues();
    values.put(DBHelper.COLUMN_VISITS_ID, vid);
    values.put(DBHelper.COLUMN_VISITS_SCHEDULE_ID, v_sid);
    values.put(DBHelper.COLUMN_VISITS_NAME, vname);
    values.put(DBHelper.COLUMN_VISITS_TIME, vtime);
    values.put(DBHelper.COLUMN_VISITS_PLACE, vplace);
    values.put(DBHelper.COLUMN_VISITS_ADDRESS, address);
    values.put(DBHelper.COLUMN_VISITS_TEL, telephone);
    values.put(DBHelper.COLUMN_VISITS_LOCATION_LAT, vlat);
    values.put(DBHelper.COLUMN_VISITS_LOCATION_LNG, vlong);
    values.put(DBHelper.COLUMN_VISITS_STATUS, vstatus);
    long insertId = mDatabase
            .insert(DBHelper.TABLE_VISITS, null, values);
    Cursor cursor = mDatabase.query(DBHelper.TABLE_VISITS, mAllColumns,
            DBHelper.COLUMN_VISITS_ID + " = " + insertId, null, null,
            null, null);

    Visits newvisits = null;
    if (cursor != null&& cursor.moveToFirst()) {
        cursor.moveToFirst();
        newvisits = cursorTovisits(cursor);

    }
    cursor.close();
    return newvisits;
}



public List<Visits> getAllvisits() {
    List<Visits> listVisits = new ArrayList<Visits>();

    Cursor cursor = mDatabase.query(DBHelper.TABLE_VISITS, mAllColumns,
            null, null, null, null, null);
    if (cursor != null) {
        cursor.moveToFirst();
        while (!cursor.isAfterLast()) {
            Visits visits = cursorTovisits(cursor);
            listVisits.add(visits);
            cursor.moveToNext();
        }

        // make sure to close the cursor
        cursor.close();
    }
    return listVisits;
}

public List<Visits> getAllvisitsforSchedule(int id) {
    List<Visits> listVisits = new ArrayList<Visits>();

    Cursor cursor = mDatabase.query(DBHelper.TABLE_VISITS, mAllColumns,
            DBHelper.COLUMN_VISITS_SCHEDULE_ID + " = ?",
            new String[]{String.valueOf(id)}, null, null, "visit_time ASC");
    if (cursor != null) {
        cursor.moveToFirst();
        while (!cursor.isAfterLast()) {
            Visits visits = cursorTovisits(cursor);
            listVisits.add(visits);
            cursor.moveToNext();
        }

        // make sure to close the cursor

        cursor.close();
    }
    return listVisits;
}

public Visits getvisitById(int id) {
    Cursor cursor = mDatabase.query(DBHelper.TABLE_VISITS, mAllColumns,
            DBHelper.COLUMN_VISITS_ID + " = ?",
            new String[]{String.valueOf(id)}, null, null, null);

    if (cursor != null) {
        cursor.moveToFirst();
    }

    Visits visits = cursorTovisits(cursor);
    return visits;
}

protected Visits cursorTovisits(Cursor cursor) {
    Visits schedule = new Visits();

    schedule.setvId(cursor.getInt(0));
    schedule.setVschID(cursor.getInt(1));
    schedule.setVname(cursor.getString(2));
    schedule.setVtime(cursor.getString(3));
    schedule.setVplace(cursor.getString(4));
    schedule.setVaddress(cursor.getString(5));
    schedule.setvtelephone(cursor.getString(6));
    schedule.setVlat(cursor.getString(7));
    schedule.setVlong(cursor.getString(8));
    schedule.setVstatus(cursor.getInt(9));

    return schedule;

}


public void deleteVisits(Visits visits) {
    int id = visits.getvId();
    mDatabase.delete(DBHelper.TABLE_VISITS, DBHelper.COLUMN_VISITS_ID + " = " + id, null);
}

public void deleteAllVisits() {

    SQLiteDatabase db = mDbHelper.getWritableDatabase();
    db.delete(DBHelper.TABLE_VISITS, null, null);
}


}

您只需要在列表适配器的getView()方法中设置想要的textview,imageview,layout等属性。 例如,参考下面的代码,

  @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView ; if( convertView == null ) { imageView = new ImageView(context); imageView.setLayoutParams( new ListView.LayoutParams( 80,80 ) ); } else { imageView = (ImageView) convertView; } imageView.setImageResource( imageIds[position] ); imageView.setEnabled(false); return imageView; } 

在我写了imageView.setEnabled(false)的地方,您可以为视图提供任何属性(例如layout.setBackground(Color.RED);)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM