2016-07-20 11 views
0

Androidが新しく、Androidスタジオのナビゲーションドロワーに問題があります。 Navigation Drawerのビューの1つにTextViewを動的に作成したいと思います。私は新しいのTextViewを作成することはできませんし、私はあなたがそれを行う方法であなたのonCreateView、ここでは例のコードの中にIDのTextViewナビゲーションドロワーのビューでのTextViewの作成

public class StatoServer extends Fragment { 

View myView; 

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    TextView tx = new TextView(this); //doesn't work this 
    tx.setText("text that change dynamically with a function"); 
    container.addView(tx); 
    myView = inflater.inflate(statoserver, container, false); 
    return myView; 
} 
+0

'TextView'を' Fragment'の 'View'の一部にしたい場合は、それを追加します'onCreateView()'から返ってくる 'View'に渡します。つまり、 'container'ではなく、' myView'に追加してください。 –

答えて

0

あなたのTextViewへのLayoutParamsを割り当てない、でもあなたは正しいViewGroupに追加します。 onCreatView()で返されたViewに追加する必要があります。以下はテストされ、ビューを動的に追加する方法の例として機能します:

public class OneFragment extends Fragment { 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.one_fragment, container, false); 
    } 

    @Override 
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 

     TextView textView = new TextView(getContext()); 
     textView.setLayoutParams(new ViewGroup.LayoutParams(
       ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT) 
     ); 
     ((ViewGroup)view).addView(textView); 
     textView.setText("Some Text"); 
     super.onViewCreated(view, savedInstanceState); 
    } 
} 
0

で検索することはできません!

View v = new View(getActivity()); 

v = inflater.inflate(R.layout.page2, container, false); 
    View tv = v.findViewById(R.id.Ausgabe); 
    ((TextView)tv).setText("TestText"); 
    View pl = v.findViewById(R.id.PageLayout); 
    TextView Paper = new TextView(pl.getContext()); 
    Paper.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,  LayoutParams.WRAP_CONTENT)); 
    Paper.setText("Inserted TestText"); 
    ((LinearLayout)pl).addView(Paper); 
return v; 
関連する問題