2015-11-20 44 views
-3

我學習寫一個接口在機器人工作室Java,但由於某種原因,我的應用程序總是說,「不幸的是對myApp已停止工作」或類似一次Java接口

這個事情是我有:

package com.name.javainterface; 

import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.RelativeLayout; 
import android.widget.Button; 

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    RelativeLayout myLayout = new RelativeLayout(this); 
    Button redButton = new Button(this); 

    myLayout.addView(redButton); 

    setContentView(R.layout.myLayout); 

    setContentView(R.layout.activity_main); 

    /*Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
        .setAction("Action", null).show(); 
     } 

    });*/ 
} 

@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); 
    } 
} 

我的佈局是如何使我的應用程序停止運作? 當我插入手機並運行應用程序它不播放,並說「錯誤:無法找到符號變量myLayout」,這是沒有任何意義,因爲我在調用它之前做了佈局,爲什麼它不知道什麼myLayout是?

回答

0

請勿以編程方式添加像按鈕,textview,edittext等默認視圖,直到它是必需的。您還多次聲明瞭setContentView()。 另外,錯誤:「找不到符號變量myLayout」是因爲您尚未在佈局目錄中創建名爲「myLayout.xml」的佈局文件而生成的。這裏是固定的代碼:

MainActivity.java:

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button redButton=(Button) findViewById(R.id.button_red); 
    } 

} 

activity_main.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"> 

    <Button 
     android:id="@+id/button_red" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="I am red button"/> 

</RelativeLayout> 

此外,看着你的編程風格,看來你是新到Android。所以請看這些教程:https://www.youtube.com/watch?v=hzrGAZnMOMQ&list=PL1q3ROAofjeOUwh7lPBnGbg__DUodwLN7