在PreferenceCategory中添加子类别

时间:2014-08-26 13:14:08

标签: android android-preferences

有没有办法将子类别添加到PreferenceCategory?

这是不可能的:

 PreferenceScreen preferenceScreen = getPreferenceManager().createPreferenceScreen(this);
    setPreferenceScreen(preferenceScreen);

    PreferenceCategory superCategory= new PreferenceCategory(this);
    preferenceScreen.addPreference(superCategory);

    PreferenceCategory subCategory= new PreferenceCategory(this);
    superCategory.addPreference(subCategory);

因为你"无法直接将偏好类别添加到偏好类别"

1 个答案:

答案 0 :(得分:0)

在XML文件中,您实际上可以 将PreferenceCategory添加到PreferenceCategory。但是,结果并不令人满意:

class Profile(models.Model):
      user_id = models.AutoField(primary_key=True)
      user = models.ForeignKey(User, on_delete=models.CASCADE)
      height = models.FloatField(max_length=20, blank=True, null=True)
      def __str__(self):
          return self.user.username

class UserData(models.Model):
      Data_id = models.AutoField(primary_key=True)
      user_id = models.ForeignKey(Profile, on_delete=models.CASCADE)
      weight = models.FloatField(max_length=20, blank=True, null=True)
      date = models.DateField(auto_now_add=True)

这样做,您会得到以下结果:PreferenceScreen。但是,正如您在此处看到的那样,层次结构不可见。