Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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
Java super.onCreate(savedInstanceState); setContentView(R.layout.activity\u exposure\u calculator); //将变量连接到布局 shutterSpinner=(Spinner)findViewById(R.id.shutterSpinner); evSpinner=(Spinner)findviewbyd(R.id.evSpinner); shutterValues=getResources().getStringArray( R.阵列(u阵列); evValues=getResources().getStringArray(R.array.ev_数组); calcButton=(按钮)findViewById(R.id.calcBT); resultTextView=(TextView)findViewById(R.id.resultTV); addItemsOnSpinner(); addListenerOnButton(); } 私有void addListenerOnButton(){ setOnClickListener(新的OnClickListener(){ @凌驾 公共void onClick(视图v){ int resultID=calculateexposure(); //检查结果是否太大 if(resultID1min”); } } }); } 受保护的整数暴露(){ 长shutterID=shutterSpinner.getSelectedItemId(); long evID=evSpinner.getSelectedItemId(); 返回(int)(shutterID+evID); } 专用void addItemsOnSpinner(){ ArrayAdapter shutterAdapter=新的ArrayAdapter(此, android.R.layout.simple_微调器_项,ShutterValue); 百叶窗适配器 .setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项); shutterSpinner.setAdapter(shutterAdapter); ArrayAdapter evAdapter=新的ArrayAdapter(此, android.R.layout.simple_微调器_项,evValues); evAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项); evSpinner.setAdapter(evAdapter); } }_Java_Android - Fatal编程技术网

Java super.onCreate(savedInstanceState); setContentView(R.layout.activity\u exposure\u calculator); //将变量连接到布局 shutterSpinner=(Spinner)findViewById(R.id.shutterSpinner); evSpinner=(Spinner)findviewbyd(R.id.evSpinner); shutterValues=getResources().getStringArray( R.阵列(u阵列); evValues=getResources().getStringArray(R.array.ev_数组); calcButton=(按钮)findViewById(R.id.calcBT); resultTextView=(TextView)findViewById(R.id.resultTV); addItemsOnSpinner(); addListenerOnButton(); } 私有void addListenerOnButton(){ setOnClickListener(新的OnClickListener(){ @凌驾 公共void onClick(视图v){ int resultID=calculateexposure(); //检查结果是否太大 if(resultID1min”); } } }); } 受保护的整数暴露(){ 长shutterID=shutterSpinner.getSelectedItemId(); long evID=evSpinner.getSelectedItemId(); 返回(int)(shutterID+evID); } 专用void addItemsOnSpinner(){ ArrayAdapter shutterAdapter=新的ArrayAdapter(此, android.R.layout.simple_微调器_项,ShutterValue); 百叶窗适配器 .setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项); shutterSpinner.setAdapter(shutterAdapter); ArrayAdapter evAdapter=新的ArrayAdapter(此, android.R.layout.simple_微调器_项,evValues); evAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项); evSpinner.setAdapter(evAdapter); } }

Java super.onCreate(savedInstanceState); setContentView(R.layout.activity\u exposure\u calculator); //将变量连接到布局 shutterSpinner=(Spinner)findViewById(R.id.shutterSpinner); evSpinner=(Spinner)findviewbyd(R.id.evSpinner); shutterValues=getResources().getStringArray( R.阵列(u阵列); evValues=getResources().getStringArray(R.array.ev_数组); calcButton=(按钮)findViewById(R.id.calcBT); resultTextView=(TextView)findViewById(R.id.resultTV); addItemsOnSpinner(); addListenerOnButton(); } 私有void addListenerOnButton(){ setOnClickListener(新的OnClickListener(){ @凌驾 公共void onClick(视图v){ int resultID=calculateexposure(); //检查结果是否太大 if(resultID1min”); } } }); } 受保护的整数暴露(){ 长shutterID=shutterSpinner.getSelectedItemId(); long evID=evSpinner.getSelectedItemId(); 返回(int)(shutterID+evID); } 专用void addItemsOnSpinner(){ ArrayAdapter shutterAdapter=新的ArrayAdapter(此, android.R.layout.simple_微调器_项,ShutterValue); 百叶窗适配器 .setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项); shutterSpinner.setAdapter(shutterAdapter); ArrayAdapter evAdapter=新的ArrayAdapter(此, android.R.layout.simple_微调器_项,evValues); evAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项); evSpinner.setAdapter(evAdapter); } },java,android,Java,Android,我还更改了布局中的一些内容(主要是ID),将其发布为完整的内容 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android

我还更改了布局中的一些内容(主要是ID),将其发布为完整的内容

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:background="@color/grey"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".ExpCalc" >

    <LinearLayout
        android:id="@+id/LinearLayout02"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:padding="5dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:padding="10dp"
            android:text="Current Shutter Speed:"
            android:textAppearance="?android:attr/textAppearanceMedium" />

            <Spinner
            android:id="@+id/shutterSpinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"


            android:padding="10dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/LinearLayout04"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:padding="5dp" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:padding="10dp"
            android:text="EV Adjustment:"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <Spinner
            android:id="@+id/evSpinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"

            android:gravity="right"
            android:padding="10dp" />

    </LinearLayout>

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:padding="2dp"
        android:text="(+6 = 6-stop ND Filter)"
        android:textAppearance="?android:attr/textAppearanceSmall" />

        <Button
        android:id="@+id/calcBT"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:padding="5dp"
        android:text="Calculate Equivelent Exposure" />

        <TextView
            android:id="@+id/resultTV"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:padding="40dp"
            android:textSize="35sp"
             />
</LinearLayout>

我不想提供完整的代码来复制,因为如果你是为了学校的项目而这样做的,我宁愿在我们的帮助下帮助你找到答案

这里有一个非常简单的解决方案:

因为您只需要这些精确值,所以可以在字符串数组中递增计数器。此解决方案仅在存在明确的最大快门速度时有效

String[] shutterSpeedValues={"1/4000", "1/2000", etc. }
然后可以设置第一个微调器的微调器适配器以使用此数组

对于第二个微调器,只需执行相同的操作,但将[0]映射到0,[1]映射到+1,以此类推

因此,你最终会:

shutterSpeedValues[]
eVValues[]
当用户按下“计算”按钮时,获取微调器中选定值的项目ID。例如,你最终会得到

shutterSpeedItemId="3"
evValueItemId="4"
这将对应于选择“1/500”和“+4”的用户

现在你要做的是:

   int eqExposureItemId = shutterSpeedItemId+evValueItemId;
   String eqExposure = shutterSpeedValues[eqExposureItemId];
   mySolutionTextView.setText(eqExposure);
4+3=7-->1/30

您仍然需要的是两个微调器中的高值解决方案(不要获得BoundsError阵列)。有一些修复方法,但是首先尝试让它像这样工作

编辑:下面是此解决方案的完整代码

活动

   package com.yallatschikowski.exposurecalculator;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;

public class ExposureCalculatorActivity extends Activity {

    Spinner shutterSpinner;
    Spinner evSpinner;
    String[] shutterValues;
    String[] evValues;
    Button calcButton;
    TextView resultTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_exposure_calculator);

        // connect the variables to the layout
        shutterSpinner = (Spinner) findViewById(R.id.shutterSpinner);
        evSpinner = (Spinner) findViewById(R.id.evSpinner);
        shutterValues = getResources().getStringArray(
                R.array.shutterspeeds_array);
        evValues = getResources().getStringArray(R.array.ev_array);
        calcButton = (Button) findViewById(R.id.calcBT);
        resultTextView = (TextView) findViewById(R.id.resultTV);

        addItemsOnSpinner();
        addListenerOnButton();
    }

    private void addListenerOnButton() {
        calcButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                int resultID = calculatExposure();

                // check if the resultID is too big
                if (resultID < shutterValues.length) {
                    resultTextView.setText(shutterValues[resultID]);
                } else {
                    resultTextView.setText("Value > 1min");
                }
            }
        });

    }

    protected int calculatExposure() {

        long shutterID = shutterSpinner.getSelectedItemId();
        long evID = evSpinner.getSelectedItemId();
        return (int) (shutterID + evID);
    }

    private void addItemsOnSpinner() {

        ArrayAdapter<String> shutterAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, shutterValues);
        shutterAdapter
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        shutterSpinner.setAdapter(shutterAdapter);

        ArrayAdapter<String> evAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, evValues);
        evAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        evSpinner.setAdapter(evAdapter);
    }

}
package com.yallatschikowski.exposurecalculator;
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.Spinner;
导入android.widget.TextView;
公开类ExposureCalculatorActivity扩展活动{
旋转器;旋转器;
微调器;
字符串[]值;
字符串[]值;
按钮calcButton;
TextView结果TextView;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u exposure\u calculator);
//将变量连接到布局
shutterSpinner=(Spinner)findViewById(R.id.shutterSpinner);
evSpinner=(Spinner)findviewbyd(R.id.evSpinner);
shutterValues=getResources().getStringArray(
R.阵列(u阵列);
evValues=getResources().getStringArray(R.array.ev_数组);
calcButton=(按钮)findViewById(R.id.calcBT);
resultTextView=(TextView)findViewById(R.id.resultTV);
addItemsOnSpinner();
addListenerOnButton();
}
私有void addListenerOnButton(){
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
int resultID=calculateexposure();
//检查结果是否太大
if(resultID1min”);
}
}
});
}
受保护的整数暴露(){
长shutterID=shutterSpinner.getSelectedItemId();
long evID=evSpinner.getSelectedItemId();
返回(int)(shutterID+evID);
}
专用void addItemsOnSpinner(){
ArrayAdapter shutterAdapter=新的ArrayAdapter(此,
android.R.layout.simple_微调器_项,ShutterValue);
百叶窗适配器
.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
shutterSpinner.setAdapter(shutterAdapter);
ArrayAdapter evAdapter=新的ArrayAdapter(此,
android.R.layout.simple_微调器_项,evValues);
evAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
evSpinner.setAdapter(evAdapter);
}
}
我还更改了布局中的一些内容(主要是ID),将其发布为完整的内容

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:background="@color/grey"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".ExpCalc" >

    <LinearLayout
        android:id="@+id/LinearLayout02"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:padding="5dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:padding="10dp"
            android:text="Current Shutter Speed:"
            android:textAppearance="?android:attr/textAppearanceMedium" />

            <Spinner
            android:id="@+id/shutterSpinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"


            android:padding="10dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/LinearLayout04"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:padding="5dp" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:padding="10dp"
            android:text="EV Adjustment:"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <Spinner
            android:id="@+id/evSpinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"

            android:gravity="right"
            android:padding="10dp" />

    </LinearLayout>

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:padding="2dp"
        android:text="(+6 = 6-stop ND Filter)"
        android:textAppearance="?android:attr/textAppearanceSmall" />

        <Button
        android:id="@+id/calcBT"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:padding="5dp"
        android:text="Calculate Equivelent Exposure" />

        <TextView
            android:id="@+id/resultTV"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:padding="40dp"
            android:textSize="35sp"
             />
</LinearLayout>

shutterSpeedItemId="3"
evValueItemId="4"
   int eqExposureItemId = shutterSpeedItemId+evValueItemId;
   String eqExposure = shutterSpeedValues[eqExposureItemId];
   mySolutionTextView.setText(eqExposure);
   package com.yallatschikowski.exposurecalculator;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;

public class ExposureCalculatorActivity extends Activity {

    Spinner shutterSpinner;
    Spinner evSpinner;
    String[] shutterValues;
    String[] evValues;
    Button calcButton;
    TextView resultTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_exposure_calculator);

        // connect the variables to the layout
        shutterSpinner = (Spinner) findViewById(R.id.shutterSpinner);
        evSpinner = (Spinner) findViewById(R.id.evSpinner);
        shutterValues = getResources().getStringArray(
                R.array.shutterspeeds_array);
        evValues = getResources().getStringArray(R.array.ev_array);
        calcButton = (Button) findViewById(R.id.calcBT);
        resultTextView = (TextView) findViewById(R.id.resultTV);

        addItemsOnSpinner();
        addListenerOnButton();
    }

    private void addListenerOnButton() {
        calcButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                int resultID = calculatExposure();

                // check if the resultID is too big
                if (resultID < shutterValues.length) {
                    resultTextView.setText(shutterValues[resultID]);
                } else {
                    resultTextView.setText("Value > 1min");
                }
            }
        });

    }

    protected int calculatExposure() {

        long shutterID = shutterSpinner.getSelectedItemId();
        long evID = evSpinner.getSelectedItemId();
        return (int) (shutterID + evID);
    }

    private void addItemsOnSpinner() {

        ArrayAdapter<String> shutterAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, shutterValues);
        shutterAdapter
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        shutterSpinner.setAdapter(shutterAdapter);

        ArrayAdapter<String> evAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, evValues);
        evAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        evSpinner.setAdapter(evAdapter);
    }

}
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:background="@color/grey"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".ExpCalc" >

    <LinearLayout
        android:id="@+id/LinearLayout02"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:padding="5dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:padding="10dp"
            android:text="Current Shutter Speed:"
            android:textAppearance="?android:attr/textAppearanceMedium" />

            <Spinner
            android:id="@+id/shutterSpinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"


            android:padding="10dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/LinearLayout04"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:padding="5dp" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:padding="10dp"
            android:text="EV Adjustment:"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <Spinner
            android:id="@+id/evSpinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"

            android:gravity="right"
            android:padding="10dp" />

    </LinearLayout>

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:padding="2dp"
        android:text="(+6 = 6-stop ND Filter)"
        android:textAppearance="?android:attr/textAppearanceSmall" />

        <Button
        android:id="@+id/calcBT"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:padding="5dp"
        android:text="Calculate Equivelent Exposure" />

        <TextView
            android:id="@+id/resultTV"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:padding="40dp"
            android:textSize="35sp"
             />
</LinearLayout>