微调可见性

时间:2014-07-30 23:06:00

标签: android android-layout spinner

我的自定义微调器有一个奇怪的问题。我的实现是隐藏微调器并且只在我单击按钮时触发选择,因此我的微调器可见性设置为INVISIBLE并且仅触发选项列表并将所选值分配回TextView。我的代码只能在模拟器中工作但是当我去我的实际设备时,选项列表没有打开,只有默认值被选回我的textview。我试图将微调器可见性设置为Visible。这次我有了选择。我记得我有另一个实现,可见性设置为INVISIBLE,它可以按需运行。有线索吗?

XML布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#EEE8E0"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:orientation="vertical"
android:weightSum="100" >

<View
    android:layout_width="fill_parent"
    android:layout_height="1dp"
    android:background="#E69100" />

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="100"
        android:descendantFocusability="beforeDescendants"
        android:focusableInTouchMode="true"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="100dp"
            android:background="#ffffff"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/attach4"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:clickable="true"
                android:scaleType="fitXY"
                android:src="@drawable/attach" />

            <ImageView
                android:id="@+id/attach3"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:clickable="true"
                android:scaleType="fitXY"
                android:src="@drawable/attach" />

            <ImageView
                android:id="@+id/attach2"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_centerInParent="true"
                android:layout_weight="1"
                android:clickable="true"
                android:scaleType="fitXY"
                android:src="@drawable/attach" />

            <ImageView
                android:id="@+id/attach1"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:clickable="true"
                android:scaleType="fitXY"
                android:src="@drawable/attach" />
        </LinearLayout>

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:descendantFocusability="beforeDescendants"
            android:focusableInTouchMode="true" >

            <View
                android:id="@+id/view1"
                android:layout_width="fill_parent"
                android:layout_height="1dp"
                android:layout_centerInParent="true"
                android:background="#222222"
                android:visibility="invisible" />

            <EditText
                android:id="@+id/addtitle"
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_below="@+id/selecttype"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/edittextback"
                android:gravity="right|center_vertical"
                android:hint="عنوان الأعلان"
                android:inputType="text"
                android:lines="1"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textColor="#444545"
                android:textSize="17dp" >
            </EditText>

            <EditText
                android:id="@+id/addbrief"
                android:layout_width="fill_parent"
                android:layout_height="100dp"
                android:layout_below="@+id/addtitle"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/edittextback"
                android:gravity="right|center_vertical"
                android:hint="المواصفات"
                android:inputType="text"
                android:lines="4"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textColor="#444545"
                android:textSize="17dp" />

            <EditText
                android:id="@+id/addprice"
                android:layout_width="250dp"
                android:layout_height="50dp"
                android:layout_alignParentRight="true"
                android:layout_below="@+id/addbrief"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/edittextback"
                android:gravity="right|center_vertical"
                android:hint="السعر"
                android:inputType="number"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textColor="#444545"
                android:textSize="17dp" />

            <Spinner
                android:id="@+id/addmoney"
                android:layout_width="200dp"
                android:layout_height="50dp"
                android:layout_alignLeft="@+id/addbrief"
                android:layout_alignTop="@+id/addprice"
                android:layout_toLeftOf="@+id/addprice"
                android:background="@drawable/edittextback"
                android:entries="@array/country_arrays"
                android:gravity="center_horizontal|center_vertical"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:prompt="@string/country_prompt"
                android:textColor="#444545"
                android:textSize="17dp" />

            <EditText
                android:id="@+id/addkilometrage"
                android:layout_width="300dp"
                android:layout_height="50dp"
                android:layout_alignLeft="@+id/addprice"
                android:layout_alignRight="@+id/addprice"
                android:layout_below="@+id/addprice"
                android:layout_marginTop="10dp"
                android:background="@drawable/edittextback"
                android:gravity="right|center_vertical"
                android:hint="المسافة المقطوعة"
                android:inputType="number"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textColor="#444545"
                android:textSize="17dp" />

            <Spinner
                android:id="@+id/addkilo"
                android:layout_width="250dp"
                android:layout_height="50dp"
                android:layout_alignLeft="@+id/addmoney"
                android:layout_alignTop="@+id/addkilometrage"
                android:layout_toLeftOf="@+id/addprice"
                android:background="@drawable/edittextback"
                android:entries="@array/kilo"
                android:gravity="center_vertical|center_horizontal"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:prompt="@string/country_prompt"
                android:textColor="#444545"
                android:textSize="17dp" />

            <Spinner
                android:id="@+id/Spinner01"
                android:layout_width="250dp"
                android:layout_height="50dp"
                android:layout_alignLeft="@+id/addkilo"
                android:layout_alignRight="@+id/addkilometrage"
                android:layout_below="@+id/addkilometrage"
                android:layout_marginTop="10dp"
                android:background="@drawable/edittextback"
                android:entries="@array/year"
                android:gravity="right|center_vertical"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:prompt="@string/country_prompt"
                android:textColor="#444545"
                android:textSize="17dp" />

            <EditText
                android:id="@+id/EditText01"
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_alignLeft="@+id/Spinner01"
                android:layout_alignRight="@+id/Spinner01"
                android:layout_below="@+id/Spinner01"
                android:layout_marginTop="10dp"
                android:background="@drawable/edittextback"
                android:ems="10"
                android:gravity="right|center_vertical"
                android:hint="رقم الهاتف/الجوال"
                android:inputType="number"
                android:lines="1"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:textColor="#444545"
                android:textSize="17dp" />

            <Button
                android:id="@+id/continueregist"
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_alignLeft="@+id/EditText01"
                android:layout_alignRight="@+id/addprice"
                android:layout_below="@+id/EditText01"
                android:layout_marginTop="26dp"
                android:background="@drawable/green_buttons"
                android:text="Continue"
                android:textColor="#ffffff"
                android:textSize="19dp"
                android:textStyle="bold" />

            <Spinner
                android:id="@+id/spinner_type"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:drawSelectorOnTop="true"
                android:visibility="invisible" />

            <Spinner
                android:id="@+id/spinner_model"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:drawSelectorOnTop="true"
                android:visibility="invisible" />

            <ImageView
                android:id="@+id/selecttype"
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:layout_alignParentTop="true"
                android:layout_alignRight="@+id/addtitle"
                android:layout_marginTop="20dp"
                android:scaleType="fitXY"
                android:src="@drawable/sell" />

            <TextView
                android:id="@+id/textcattype"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/spinner_type"
                android:layout_marginRight="21dp"
                android:layout_toLeftOf="@+id/selecttype"
                android:text=""
                android:textSize="19dp" />

            <ImageView
                android:id="@+id/selectmodel"
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:layout_alignRight="@+id/addmoney"
                android:layout_alignTop="@+id/selecttype"
                android:scaleType="fitXY"
                android:src="@drawable/buy" />

            <TextView
                android:id="@+id/textcarmodel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignTop="@+id/selectmodel"
                android:layout_toLeftOf="@+id/selectmodel"
                android:text=""
                android:textSize="19dp" />

        </RelativeLayout>
    </LinearLayout>
</ScrollView>

<RelativeLayout
    android:id="@+id/mainaddshekh"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#222222"
    android:orientation="vertical" >
</RelativeLayout>

Java类:

public class Sell_Class extends Activity implements OnClickListener {

Spinner Type, Model;
MyAdapter adapter1;
MyAdapter2 adapter2;
EditText cartypeedit;
ImageView cartype, carmodel;
TextView cartypetext, carmodeltext;

String CarType="",CarModel;

int arr_images[] = {

R.drawable.hy,

R.drawable.hy

};

final String[] CarsType = new String[] {

"هيونداي", "هوندا",

};

final String[] Hyundai = new String[] {

"أكسنت", "أكسيل"

};

final String[] Honda = new String[] {

"أكورد", "سيفيك",

};

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainsell);

    Type = (Spinner) findViewById(R.id.spinner_type);
    Model = (Spinner) findViewById(R.id.spinner_model);

    cartype = (ImageView) findViewById(R.id.selecttype);
    carmodel = (ImageView) findViewById(R.id.selectmodel);

    cartypetext = (TextView) findViewById(R.id.textcattype);
    carmodeltext = (TextView) findViewById(R.id.textcarmodel);

    cartype.setOnClickListener(this);
    carmodel.setOnClickListener(this);

    Type.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {


              // get spinner value

                cartypetext.setText(CarsType[arg2]);
                CarType = CarsType[arg2];
                CarModel="";
                carmodeltext.setText("");





        }

        public void onNothingSelected(AdapterView<?> arg0) {


        }

    });

    Model.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {




                if (CarType.contentEquals("هيونداي")) {

                    carmodeltext.setText(Hyundai[arg2]);
                    CarModel = Hyundai[arg2];
                }

                if (CarType.contentEquals("هوندا")) {

                    carmodeltext.setText(Honda[arg2]);
                    CarModel = Honda[arg2];

                }



        }

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

        }

    });

}

@Override
public void onClick(View v) {

    switch (v.getId()) {

    case R.id.selecttype:

        adapter1 = new MyAdapter(this, CarsType, arr_images);

        Type.setAdapter(adapter1);

        Type.performClick();

        cartypetext.setText("");


        break;

    case R.id.selectmodel:

        if (CarType.contentEquals("")) {
            Toast.makeText(getApplicationContext(),
                    "Please select car first", Toast.LENGTH_LONG).show();
        }

        else

        {
            if (CarType.contentEquals("هيونداي")) {

                adapter2 = new MyAdapter2(Sell_Class.this, Hyundai);

                Model.setAdapter(adapter2);

                Model.performClick();
                carmodeltext.setText("");

            }

            if (CarType.contentEquals("هوندا")) {

                adapter2 = new MyAdapter2(Sell_Class.this, Honda);

                Model.setAdapter(adapter2);

                Model.performClick();

                carmodeltext.setText("");

            }


        }

        break;

    }

}

}

MyAdapter:

public class MyAdapter extends BaseAdapter {

Context c;
String[] title;
int[] pic;
LayoutInflater inflater;
Typeface font;

int arr_images[] = { 

    R.drawable.hy,

    R.drawable.hy

         };



public MyAdapter(Context context, String[] title, int[] pic) {
    super();
    this.c = context;
    this.title = title;
    this.pic = pic;
    inflater = LayoutInflater.from(context);

 //   font = Typeface.createFromAsset(context.getAssets(),"fonts/khalaadsara.ttf");

}

@Override
public int getCount() {
    return title.length;
}

public class ViewHolder {
    TextView cat;
    ImageView icon;

}
@Override
public long getItemId(int position) {
    return position;
}

public View getView(int position, View convertView, ViewGroup parent) {

    final ViewHolder holder;

    if (convertView== null) {

        holder = new ViewHolder();

        convertView = inflater.inflate(R.layout.spinnertext, null);

    holder.cat = (TextView) convertView.findViewById(R.id.titlesub);
    holder.icon = (ImageView) convertView.findViewById(R.id.imageView1);

    convertView.setTag(holder);
    }
    else
    {
        holder = (ViewHolder)convertView.getTag();
    }

    holder.cat.setText(title[position]);
//  holder.cat.setTypeface(font);
    holder.icon.setImageResource(arr_images[position]);

    return convertView;
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return null;
}


}

0 个答案:

没有答案