新しいフラグメントを開始しようとしていますが、IDのビューが見つからないというアプリケーションがクラッシュしています。目標はボタンをクリックするとこのフラグメントを開始することです新しいフラグメントを開始しようとしたときにIDのビューが見つかりません
私はこれがたくさん尋ねられていることは知っていますが、何も私の問題を修正することはできませんでした。ここで
が出力されます。ここでは
05-22 15:45:11.125 3664-3664/com.example.tanner.sensortesting E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.tanner.sensortesting, PID: 3664
java.lang.IllegalArgumentException: No view found for id 0x7f0c005f (com.example.tanner.sensortesting:id/sensorLayout) for fragment SensorActivity{2d46a59a #0 id=0x7f0c005f}
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1059)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
は私の主な活動です。私は二setContentViewのコメントを解除すると、それは動作しますが、それはこれは私が開始することだった断片である、互いに
package com.example.tanner.sensortesting;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button = (Button) findViewById(R.id.button);
assert button != null;
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//setContentView(R.layout.sensor_fragment);
getSupportFragmentManager().beginTransaction()
.add(R.id.sensorLayout, new SensorActivity())
.commit();
}
});
}
}
から少しオフ2 sensorLayoutsを配置します
package com.example.tanner.sensortesting;
import android.support.v4.app.Fragment;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
/**
* Created by tanner on 5/15/16.
*/
public class SensorActivity extends Fragment implements SensorEventListener {
private SensorManager sensorManager;
private Sensor accelerometer;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState){
View rootView = inflater.inflate(R.layout.sensor_fragment, container, false);
sensorManager = (SensorManager)getActivity().getSystemService(getActivity().SENSOR_SERVICE);
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
return rootView;
}
@Override
public void onSensorChanged(SensorEvent event) {
double x = event.values[0];
double y = event.values[1];
double z = event.values[2];
TextView xDegreeTextView = (TextView)getView().findViewById(R.id.xDegree);
TextView yDegreeTextView = (TextView)getView().findViewById(R.id.yDegree);
TextView zDegreeTextView = (TextView)getView().findViewById(R.id.zDegree);
xDegreeTextView.setText(x + "°");
yDegreeTextView.setText(y + "°");
zDegreeTextView.setText(z + "°");
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
そして最後にSensorActivityのXML :
<?xml version="1.0" encoding="utf-8"?>
<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: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="com.example.tanner.sensortesting.MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/sensorLayout">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/xDegree"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/yDegree"
android:layout_below="@+id/xDegree"
android:layout_centerHorizontal="true"
android:layout_marginTop="106dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/zDegree"
android:layout_below="@+id/yDegree"
android:layout_centerHorizontal="true"
android:layout_marginTop="102dp" />
</RelativeLayout>
</RelativeLayout>
助けてください!
ありがとうございました! – Tanner