Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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 将数据从一个活动发送到另一个活动_Java_Android - Fatal编程技术网

Java 将数据从一个活动发送到另一个活动

Java 将数据从一个活动发送到另一个活动,java,android,Java,Android,嗨,我是新来的,首先我想为我的语言道歉。我想创建我的第一个安卓应用程序,现在我正在为一些问题挣扎。 MainActivity,表示包含两个按钮和微调器的主屏幕。在微调器中,用户可以选择一个文本文件,选择后应触发微调器活动(打开文本文件的屏幕)。我发现问题,因为并非微调器中的每条记录都会触发我想要的文本文件的活动(一个我想要的触发器文件和另一个文本视图为空的触发器屏幕) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xm

嗨,我是新来的,首先我想为我的语言道歉。我想创建我的第一个安卓应用程序,现在我正在为一些问题挣扎。 MainActivity,表示包含两个按钮和微调器的主屏幕。在微调器中,用户可以选择一个文本文件,选择后应触发微调器活动(打开文本文件的屏幕)。我发现问题,因为并非微调器中的每条记录都会触发我想要的文本文件的活动(一个我想要的触发器文件和另一个文本视图为空的触发器屏幕)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
             android:orientation="vertical"
            >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="199dp"
        android:layout_height="89dp"
        android:layout_below="@+id/editText1"
        android:layout_centerHorizontal="true"
        android:text="nie dziala" />

     <TextView
        android:id="@+id/proximityTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"            
        android:text="0.0"
        android:textAppearance="?android:attr/textAppearanceLarge"/>
        </LinearLayout>
        </ScrollView>
</LinearLayout>

有人能看一下这个并帮我找到bug吗?谢谢,位置从0开始,我想问题在于条件, 你可以这样写-

        public void onItemSelected(AdapterView<?> parent, View view,
                               int pos, long id) {
        Intent intent = new Intent(MainActivity.this, SpinnerActivity.class);
        intent.putExtra("txt", pos + 1);
        startActivity(intent);
    }
public void未选中(AdapterView父视图、视图、,
内部位置,长id){
意向意向=新意向(MainActivity.this、spinneActivity.class);
意图。额外输入(“txt”,位置+1);
星触觉(意向);
}

您的问题到底是什么?有任何例外情况吗?可能的重复情况需要将intent.putExtra(“txt”,“pos”)添加到您选择的
实现中的每个intent中“if(pos==1)”两次,请注意使用
开关将更好。好的,我改进了这些东西。我的主要问题是我无法读取我想要的文件。这已得到修复,但我还有一个问题,我无法从第一个微调器记录触发微调器活动。我有三个记录:猫、狗和鼠标,当我启动应用程序时,猫是default record但我无法选择cat打开对我有效的文件,但我有另一个问题-我无法从我的微调器中选择第一条记录填充微调器和回调方法ONIMSELECTED()时,会自动选择第一条记录仅当新位置与前一位置不同时才调用。请查看。
package com.example.myapp;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

import android.content.Intent;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class SpinnerActivity extends ActionBarActivity implements SensorEventListener  {
TextView proxText;
SensorManager sm;
Sensor proxSensor;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_spinner);
                //proximitymeter
                sm=(SensorManager)getSystemService(SENSOR_SERVICE);
                proxSensor=sm.getDefaultSensor(Sensor.TYPE_PROXIMITY);
                proxText=(TextView)findViewById(R.id.proximityTextView);
                sm.registerListener(this,proxSensor,SensorManager.SENSOR_DELAY_NORMAL);



                Intent intent3 = getIntent();
                 int value = intent3.getIntExtra("txt", 0);
                //finish();
                if (value==1)
                {
                        open("przepis1.txt");
                }
                if (value==2)
                {
                open("przepis2.txt");
                }
                if (value==3)
                {
                open("przepis3.txt");
                }


        }
public void open(String name){
          File sdcard = Environment.getExternalStorageDirectory();

          //Get the text file

          File file = new File(sdcard,name);

          //Read text from file
          StringBuilder text = new StringBuilder();

          try {
              BufferedReader bufor = new BufferedReader(new FileReader(file));
              String line;

              while ((line = bufor.readLine()) != null) {
                  text.append(line);
                  text.append('\n');
              }
              bufor.close();
          }
          catch (IOException e) {
              //You'll need to add proper error handling here
          }

          //Find the view by its id
          TextView tv = (TextView)findViewById(R.id.textView2);

          //Set the text
          tv.setText(text);
        }
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.spinner, 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();
                if (id == R.id.action_settings) {
                        return true;
                }
                return super.onOptionsItemSelected(item);
        }
        @Override
        public void onSensorChanged(SensorEvent event) {
                // TODO Auto-generated method stub

                //proxText.setText(String.valueOf(event.values[0]));

        }
        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
                // TODO Auto-generated method stub

        }



}
        public void onItemSelected(AdapterView<?> parent, View view,
                               int pos, long id) {
        Intent intent = new Intent(MainActivity.this, SpinnerActivity.class);
        intent.putExtra("txt", pos + 1);
        startActivity(intent);
    }