2

Мой заказ FragmentSettings() расширяет android.preference.PreferenceFragment, и я просто добавляю его в свою деятельность.Надувные макеты в действии с помощью PreferenceFragment

Я хочу надуть (добавить), а также layout.logo, который имеет силу тяжести: нижний. Однако с моим кодом надутый layout.logo не отображается. Думаю, потому что я использую inflate() с getFragmentManager()? Как я могу правильно добавить макет в этом случае?

public class ActivitySettings extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     FragmentSettings details = new FragmentSettings(); 
     details.setArguments(getIntent().getExtras()); 
     getFragmentManager().beginTransaction().add(android.R.id.content, details).commit(); 

     getLayoutInflater().inflate(R.layout.logo, null); 
    } 


} 

PS: R.layout.logo является ImageView.

ответ

1

Попробуйте

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    FragmentSettings details = new FragmentSettings(); 
    details.setArguments(getIntent().getExtras()); 
    getFragmentManager().beginTransaction().add(android.R.id.content, details).commit(); 

    LayoutInflater inflater = LayoutInflater.from(context); 
    View view =inflater.inflate(R.layout.logo, null); 
    // may be logo is a layout file, if not then put your layout file which contain an ImageView 
    ImageView imageView = (ImageView)view.findViewById(R.id.imageView1); 
} 

, но вы сказали, что R.layout.logo в ImageView. вы знаете, ImageView имеет идентификатор, и вы найдете его от R.id.(your ImageView's id). просто я предполагаю, что imageView1 есть и id вашего ImageView.

+0

Спасибо, что ответили. Во-первых, ImageView будет одинаковым во всех случаях, так что это нормально. Во-вторых, что (/ как вы объявляете переменную) 'context' в вашем ответе? Я попробовал 'LayoutInflater.from (getBaseContext());' без успеха. – Diolor

+0

Контекстный контекст; является глобальной переменной. вы можете объявить его в своем классе активности до onCreate(). –