0

私のAndroidアプリケーションでは、サーバーからのJSON構成ファイルに基づいて別のアプリレイアウトを表示したい.アプリで。

この目的のために私は持っています:

public void sendView(View view) throws JSONException, IOException{ 

        String[] viewType = pm.getScreetypeConfigFromJsonElement();

      if ( viewType[0] == "LV"){
            Intent intent = new Intent(this, AUListView.class);
            startActivity(intent);
        }else if(){....}  //For any other view

    }

そして今、私は MainActivity 内でこの関数を呼び出しています

   @Override
        protected void onCreate(Bundle savedInstanceState) {

                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);


                 try {
                sendView(/*Cant solve how to pass view */);
                } catch (JSONException e1) {
                    e1.printStackTrace();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
                . 
                .
                .
}

Android で JSON 構成値に基づいて異なる AppLayout を起動する必要があるというこの問題を修正するにはどうすればよいですか。

4

2 に答える 2

0

これを行うには多くの方法があります。簡単な解決策の 1 つは、必要なレイアウトにsetContentView()応じてさまざまなレイアウトと呼び出しを作成することです。たとえば、アクティビティ用に 2 つのレイアウトを作成します。そのうちの1 人には発言権ListViewがあり、もう 1 人にはGridView発言権があります。それに基づいて膨らませることができます:

 String[] viewType = pm.getScreetypeConfigFromJsonElement();
    if ( viewType[0] == "LV"){
                setContentView(R.layout.main_layout_with_list_view);
    else if  ( viewType[0] == "GV"){
                setContentView(R.layout.main_layout_with_grid_view);

このコードをonCreate()メソッドに挿入して、JSON 値に基づいてレイアウトを動的に拡張できます。

于 2013-05-17T05:41:08.547 に答える