有人能解释一下这里的美元符号是什么意思吗?

3
在这里,“$”符号的作用是将内部类指定为外部类的成员。在Java中,内部类的名称会自动追加外部类的名称作为前缀,而在XML中,由于名称中不能包含“.”,因此需要使用“$”符号来代替“.”来引用内部类。
2个回答

4
这意味着EarthquakePreferenceFragmentSettingsActivity的内部类。

是的,你说得对。如果我删除android:name属性,那么这个内部类(EarthquakePreferenceFragment)会自动从SettingActivity类中调用吗?如果我有错误,请随时纠正我。 - Prakash Niroula

3

它表示一个内部静态类。在您的示例中,它将如下所示:

public class SettingsActivity extends AppCompatActivity {
   
  .... other activity code ....


   // Inner class

   public static class EarthquakePreferenceFragment extends Fragment {

     .......
   }
}

你说得对。它的格式和你写的一样。 谢谢你帮我解决问题。 - Prakash Niroula

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接