0

メインビューが正常に表示されています。

私の問題は、ユーザーがメニュー ボタンを選択してからユーザー設定アイコンを選択したときです。もちろん、このビューには、ユーザーが選択できるように表示するオプションがあります。

私が抱えている問題は、ビューをハンドルして可視性を設定することです。これは、ビューがまだ膨張していないためだと「信じています」が、膨張させる最良の方法がわからない.

さらに、OnCreate ステップの一部としてそれを行う必要があります。その後、必要な場合にのみ非表示にするか、膨張させます。いずれにしても、ビューを膨らませるにはどうすればよいですか?

ティアJB

申し訳ありませんが、私はこの質問で下手な仕事をしました。ここにいくつかのコードがあります:

userpreferences という相対レイアウトがあります。ユーザーがメニューを選択してから設定ボタンを選択すると、設定を変更できるようにそのビューを表示したいと思います。

public boolean onOptionsItemSelected(MenuItem item) 
{ 

    switch (item.getItemId()) 
    { 
        case R.id.menu_save:
    ..... code .....
        case R.id.menu_Preferences: 
            //Inflate view here so user can select options
            return true;
4

1 に答える 1

1

編集:質問が変更されました。

これを処理する最善の方法は、おそらく新しいアクティビティを開始することです。

startActivity(new Intent(this, NewActvity.class));

トリックを行います。


あなたの質問はかなり曖昧です...とにかく..

通常のアクティビティでは、アクティビティは「setContentView(R.layout.your_layout);」を設定することで、話しているビューをすでに認識しています。OnCreateで。

その時点から、例ごとに実行するだけで、任意のビューを膨らませることができます。

TextView mTextView = (TextView) findViewById(R.id.my_textview); 

もう少し複雑なセットアップを構築している場合でも、最初にルートビューを膨らませる必要があるかもしれません。あなたは例ごとにそれを行うことができます:

LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View root = inflater.inflate(R.layout.some_layout, null);

その時点から、例をもう一度使用できますが、代わりに次のようにします。

TextView mTextView = (TextView) root.findViewById(R.id.my_textview); 

残りの質問については、これをいつ実行するかは正確に実行したいこと次第ですが、通常はonCreateでそれらを膨らませても問題ありません。

ビューを「取得」したら、mTextView.setVisibility();を使用してその可視性を設定できます。静的な値であるView.GONE、View.INVISIBLE、またはView.VISIBLEのいずれかを取るため、それらに到達するためにオブジェクトを開始する必要はありません。

于 2012-12-30T14:47:32.127 に答える