我正在使用 PreferenceFragment 从用户那里获取偏好。我设计了一个简单的首选项文件,只有一个 EditPreference。我创建了以下首选项文件
public class fragact extends PreferenceFragment
{
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.fragpref);
}
}
在我的主要活动中,我试图通过单击按钮来显示片段。但是片段变得透明并且不是很明显,并且可以通过它看到底层屏幕。为什么片段不正确。我创建了另一个活动并用它来显示片段。它工作正常。但是为什么我们可以直接显示片段而不是通过其 oncreate 中的另一个活动显示并通过 fragprefmain 类中的 startActivity 调用它。
public class fragprefmain extends Activity
{
EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.fragpref);
et=(EditText)findViewById(R.id.editText1);
}
public void showp(View v)
{
FragmentManager fm=getFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
ft.replace(android.R.id.content, new fragact());
ft.commit();
}
public void showval(View v)
{
SharedPreferences sp=PreferenceManager.getDefaultSharedPreferences(this);
et.setText(sp.getString("ekey", "no valued given"));
}