Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何设置两个xml';如果我选择一个选项,我必须得到一个xml,反之亦然?_Android_Xml_View - Fatal编程技术网

Android 如何设置两个xml';如果我选择一个选项,我必须得到一个xml,反之亦然?

Android 如何设置两个xml';如果我选择一个选项,我必须得到一个xml,反之亦然?,android,xml,view,Android,Xml,View,如果我在customertype微调器(spn_cust)中选择“新客户”,我必须显示一个包含按钮、微调器、EditText、textview的视图。如果我选择“现有客户”,我必须获得另一个视图约束按钮EditText。 这怎么可能?我应该在选择一个选项时隐藏一个xml吗?以编程方式如何解决这个问题 pncustomertype.setOnItemSelectedListener(new OnItemSelectedListener() { @Override

如果我在customertype微调器(spn_cust)中选择“新客户”,我必须显示一个包含按钮、微调器、EditText、textview的视图。如果我选择“现有客户”,我必须获得另一个视图约束按钮EditText。 这怎么可能?我应该在选择一个选项时隐藏一个xml吗?以编程方式如何解决这个问题

pncustomertype.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int position, long arg3) {
            //String item = spncustomertype.getItemAtPosition(position).toString();



        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });
pncustomertype.setOnItemSelectedListener(新的OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、,
整数位置,长arg3){
//String item=spncustomertype.getItemAtPosition(position).toString();
}
@凌驾
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
});

有许多可用的解决方案:

  • 最简单的方法是:
    findViewbyID
    setVisibility
  • 创建不同的xml布局,并将它们与事件上的
    include
    标记、
    setVisibility
    组合
  • 创建不同的xml布局,使用
    LayoutInflater
    为每个xml文件充气并按代码添加

  • 有许多可用的解决方案:

  • 最简单的方法是:
    findViewbyID
    setVisibility
  • 创建不同的xml布局,并将它们与事件上的
    include
    标记、
    setVisibility
    组合
  • 创建不同的xml布局,使用
    LayoutInflater
    为每个xml文件充气并按代码添加

  • 有许多可用的解决方案:

  • 最简单的方法是:
    findViewbyID
    setVisibility
  • 创建不同的xml布局,并将它们与事件上的
    include
    标记、
    setVisibility
    组合
  • 创建不同的xml布局,使用
    LayoutInflater
    为每个xml文件充气并按代码添加

  • 有许多可用的解决方案:

  • 最简单的方法是:
    findViewbyID
    setVisibility
  • 创建不同的xml布局,并将它们与事件上的
    include
    标记、
    setVisibility
    组合
  • 创建不同的xml布局,使用
    LayoutInflater
    为每个xml文件充气并按代码添加

  • 如果与元素(即Button、edittext等)关联的操作因所选选项(新客户或现有客户)而异,则最好创建两个不同的视图类View1(包含Button、微调器、edittext、Textview)和View2(包含Button、edittext)

    公共类视图1扩展了RelativeLayout{
    //把你的代码和使用
    //视图=布局更平坦。充气(R.layout.YOUR_布局,this);充气布局
    
    }
    如果与元素(即Button、edittext等)相关的操作因所选选项(新客户或现有客户)而异,则最好创建两个不同的视图类View1(包含Button、微调器、edittext、Textview)和View2(包含Button、edittext)

    公共类视图1扩展了RelativeLayout{
    //把你的代码和使用
    //视图=布局更平坦。充气(R.layout.YOUR_布局,this);充气布局
    
    }
    如果与元素(即Button、edittext等)相关的操作因所选选项(新客户或现有客户)而异,则最好创建两个不同的视图类View1(包含Button、微调器、edittext、Textview)和View2(包含Button、edittext)

    公共类视图1扩展了RelativeLayout{
    //把你的代码和使用
    //视图=布局更平坦。充气(R.layout.YOUR_布局,this);充气布局
    
    }
    如果与元素(即Button、edittext等)相关的操作因所选选项(新客户或现有客户)而异,则最好创建两个不同的视图类View1(包含Button、微调器、edittext、Textview)和View2(包含Button、edittext)

    公共类视图1扩展了RelativeLayout{
    //把你的代码和使用
    //视图=布局更平坦。充气(R.layout.YOUR_布局,this);充气布局
    }
    您可以通过在xml和代码中设置可见性来实现。
    包com.example.user.spinnerapp;
    导入android.app.Activity;
    导入android.os.Bundle;
    导入android.view.Menu;
    导入android.view.MenuItem;
    导入android.view.view;
    导入android.widget.AdapterView;
    导入android.widget.ArrayAdapter;
    导入android.widget.Button;
    导入android.widget.EditText;
    导入android.widget.Spinner;
    导入android.widget.TextView;
    导入java.util.ArrayList;
    导入java.util.List;
    公共类MainActivity扩展了活动{
    私人按钮;
    私人纺纱机;
    私人编辑文本;
    私有文本视图文本视图;
    @凌驾
    创建时受保护的void(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    最终列表SpinneArray=新的ArrayList();
    添加(“新客户”);
    添加(“现有客户”);
    ArrayAdapter适配器=新的ArrayAdapter(
    这个,android.R.layout.simple\u微调器\u项目,微调阵列);
    //setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
    最终微调器sItems=(微调器)findViewById(R.id.Spinner);
    按钮=(按钮)findViewById(R.id.button);
    微调器=(微调器)findViewById(R.id.spinner2);
    editText=(editText)findViewById(R.id.editText);
    textView=(textView)findViewById(R.id.textView);
    setAdapter(适配器);
    sItems.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
    @凌驾
    已选择公共位置(AdapterView父视图、视图视图、内部位置、l
    
    You can do it by setting visibilities in xml and code. 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
        android:layout_height="match_parent" 
    android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:paddingTop="16dp"
        android:paddingBottom="16dp" 
    tools:context=".MainActivity">
    
    
        <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/spinner"
            android:layout_alignParentTop="true"
            android:layout_alignParentStart="true" />
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button"
            android:id="@+id/button"
            android:layout_below="@+id/spinner"
            android:layout_alignParentStart="true"
            android:visibility="gone"/>
    
        <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/spinner2"
            android:layout_below="@+id/button"
            android:layout_alignParentStart="true"
            android:visibility="gone"/>
    
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/editText"
            android:text="edit_Text"
            android:layout_below="@+id/spinner2"
            android:layout_alignParentStart="true"
            android:visibility="gone"/>
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/textView"
            android:layout_centerVertical="true"
            android:layout_alignParentStart="true"
            android:visibility="gone"/>
    
    
    </RelativeLayout>
    
    package com.example.user.spinnerapp;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Spinner;
    import android.widget.TextView;
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    public class MainActivity extends Activity{
    private Button button;
       private  Spinner spinner;
        private EditText editText;
        private TextView textView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            final List<String> spinnerArray =  new ArrayList<>();
            spinnerArray.add("New Customer");
            spinnerArray.add("Existing Customer");
    
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                    this, android.R.layout.simple_spinner_item, spinnerArray);
    
           // adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            final Spinner sItems = (Spinner) findViewById(R.id.spinner);
            button = (Button)findViewById(R.id.button);
            spinner = (Spinner)findViewById(R.id.spinner2);
            editText = (EditText)findViewById(R.id.editText);
            textView = (TextView)findViewById(R.id.textView);
    
            sItems.setAdapter(adapter);
    
    
    
           sItems.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
               @Override
               public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    
                   //String selected = spinnerArray.get(position);
                   String selected = sItems.getSelectedItem().toString();
    
                   if (selected.equals("New Customer")) {
                       button.setVisibility(View.VISIBLE);
                       spinner.setVisibility(View.VISIBLE);
                       editText.setVisibility(View.VISIBLE);
                       textView.setVisibility(View.VISIBLE);
    
                   }
                   else if(selected.equals("Existing Customer")){
    
                       spinner.setVisibility(View.INVISIBLE);
                       textView.setVisibility(View.INVISIBLE);
                   }
               }
    
               @Override
               public void onNothingSelected(AdapterView<?> parent) {
    
               }
           });
    
    
    
        }
    
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.menu_main, menu);
            return true;
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
    
            //noinspection SimplifiableIfStatement
            if (id == R.id.action_settings) {
                return true;
            }
    
            return super.onOptionsItemSelected(item);
        }
    }