0

私は Android 開発が初めてで、練習として簡単なアプリを作ろうとしています。構成されているのは、最初のボックスに 1 つの数値を入力し、2 番目のボックスに数値を入力し、ボタンを押すだけで、結果がテキストビューに出力されます。問題は、送信ボタンを押しても何も起こらないことです。Eclipse にはエラーが表示されず、LogCat にもエラーは表示されません。したがって、これを実行しても何も得られない理由について、公式に困惑しています。うまくいけば、あなたたちが助けてくれるでしょう。

XML は次のとおりです。

<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=".MainActivity" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="172dp"
    android:orientation="vertical" >
</LinearLayout>

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp"
    android:layout_marginTop="48dp"
    android:text="First Number:"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="40dp"
    android:text="Second Number:"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/linearLayout1"
    android:layout_alignTop="@+id/textView1"
    android:ems="10"
    android:inputType="number" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/textView2"
    android:layout_toRightOf="@+id/linearLayout1"
    android:ems="10"
    android:inputType="number" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/editText2"
    android:layout_below="@+id/editText2"
    android:text="Calc" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/linearLayout1"
    android:layout_centerHorizontal="true"
    android:text="TextView" />

</RelativeLayout>

そして、ここにJavaがあります:

package com.example.mathbox;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

 public class MainActivity extends Activity { 

    Button sum;
    EditText num1, num2;
    TextView tv;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}


public void main(String[] args){

    num1 = (EditText) findViewById(R.id.editText1);
    num2 = (EditText) findViewById(R.id.editText2);
    tv = (TextView) findViewById(R.id.textView3);

num1.getText().toString();
num2.getText().toString();

    int x =Integer.parseInt("num1");
    int y =Integer.parseInt("num2");

    int nas = x + y;

    tv.setText(nas);



    findViewById(R.id.button1).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {}

});}}
4

8 に答える 8

0
public void main(String[] args)

Androidの場合、これは単純な方法であり、ちなみに次のようなエントリポイントではありません:

public static void main(String[] args)

コードでメイン メソッドを呼び出していることがわかりません。

num1.getText().toString();
num2.getText().toString();

プロパティに割り当てずに値を取得するだけです。
このコードは完全に間違っています。

最初から公式の Android トレーニング : Building Your First Appから始めることをお勧めします。

于 2013-04-24T06:12:34.280 に答える
0

このコードを見つけてください..それが役立つことを願っています

public class MainActivity extends Activity {

Button sum;
EditText num1, num2;
TextView tv;
String x;
String y;

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

    num1 = (EditText) findViewById(R.id.editText1);
    num2 = (EditText) findViewById(R.id.editText2);
    tv = (TextView) findViewById(R.id.textView3);
    sum = (Button) findViewById(R.id.button1);

    sum.setOnClickListener(new clicker());
}

class clicker implements Button.OnClickListener {
    public void onClick(View v) {

        Integer nas;
        x = num1.getText().toString();
        y = num2.getText().toString();
        nas = Integer.parseInt(x) + Integer.parseInt(y);
        tv.setText(nas.toString());
    }
}
}
于 2013-04-24T06:35:36.863 に答える
0

ヘイ・ダイアモンド君は何か悪いことをしている。初心者でもOK。メインメソッドを作成していることがわかります。Java では main メソッドpublic static void mainが最初に実行されますが、ここではアクティビティが作成されると oncreate メソッドが実行されます。したがって、次の方法でそれを行うことができます。

 //inside oncreate method do like this
  num1 = (EditText) findViewById(R.id.editText1);
num2 = (EditText) findViewById(R.id.editText2);
tv = (TextView) findViewById(R.id.textView3);
 findViewById(R.id.button1).setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) 
    {
   int val1 = num1.getText().toString();
   int val2 = num2.getText().toString();

int x =Integer.parseInt(val1);
int y =Integer.parseInt(val2);

int nas = x + y;

tv.setText(nas);
    }

});

これはあなたを助けるかもしれません。テストされていません。変更を加える必要があるかもしれません。

于 2013-04-24T06:16:32.927 に答える
-1

このコードを試してください。

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class add extends Activity {
Button     button1;
 EditText   txtbox1,txtbox2;
 TextView tv;

  /** Called when the activity is first created. */
   @Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 txtbox1=  (EditText) findViewById(R.id.txtbox1);
 button1 = (Button) findViewById(R.id.button1);
 tv = (TextView) findViewById(R.id.lbl1);
 txtbox2=  (EditText) findViewById(R.id.txtbox2);
 button1.setOnClickListener(new clicker());    
 }
class  clicker implements Button.OnClickListener
{           
public void onClick(View v)
{
 String a,b;
 Integer vis;
 a =  txtbox1.getText().toString();
 b =  txtbox2.getText().toString();    
 vis =  Integer.parseInt(a)+Integer.parseInt(b);    
 tv.setText(vis.toString());    
    }
    }
  }
于 2013-04-24T06:09:51.493 に答える
-1

これを試して、

int x =Integer.valueof(""+num1.getText().toString());
int y =Integer.valueof(""+num2.getText().toString());

int nas = x + y;

tv.setText(""+String.valueof(nas));
于 2013-04-24T06:18:17.047 に答える