android新手求教 自学啊,遇到问题连可以问的人都没有。太惨了

真实的蚂蚁 2011-11-01 11:36:43
package gale.activity03;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
//上面多的包不管
public class Acitivity03 extends Activity {
/** Called when the activity is first created. */ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
factorOne=(EditText)findViewById(R.id.factorOne);
factorTwo=(EditText)findViewById(R.id.factorTwo);
calculate=(Button)findViewById(R.id.calculate);
symbol=(TextView)findViewById(R.id.symbol);

symbol.setText(R.string.symbol);
calculate.setText(R.string.calculate);
}
}
谁可以帮我看看这段是哪儿的问题 我怎么看都不知道是哪儿的问题
...全文
321 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
降龙 2011-11-03
  • 打赏
  • 举报
回复
R.string.symbol实际对应的是个int类型的变量。。。。
降龙 2011-11-03
  • 打赏
  • 举报
回复
额,在Java代码中获取string.xml定义的字符串不是像你那样写的。。。。
应该这样写:

symbol.setText(Activity03.this.getResources().getString(R.string.symbol));
真实的蚂蚁 2011-11-03
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 kirasum 的回复:]

按流程上来说,应该没有什么问题,有没有什么报错之类的?
[/Quote]
帮我到这里看看吧……http://topic.csdn.net/u/20111102/23/de735f0e-5ef0-4bd9-b53a-f12a265e4ff7.html?46824
奇拉米苏 2011-11-03
  • 打赏
  • 举报
回复
按流程上来说,应该没有什么问题,有没有什么报错之类的?
zhoujiaolongde 2011-11-03
  • 打赏
  • 举报
回复
大写.Result是对的把 是activity 的名字呀
真实的蚂蚁 2011-11-03
  • 打赏
  • 举报
回复
我都不好意思了,我准备跳过这个环节了
是<activity android:name=".result" android:label="计算结果"></activity>
真实的蚂蚁 2011-11-03
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 zhoujiaolongde 的回复:]

AndroidManifest.xml呢 其他的我真没看出啥错误
[/Quote]
噢,这个AndroidManifest.xml里面
最后注册是<activity android:name=".Result" android:label="计算结果"></activity> 粘错了
真实的蚂蚁 2011-11-03
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 zhoujiaolongde 的回复:]

AndroidManifest.xml呢 其他的我真没看出啥错误
[/Quote]

AndroidManifest.xml
Java code
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="gale.activity03"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="7" />

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".Activity03" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Resilt" android:label="计算结果"></activity>
</application>

</manifest>


其实我还有个帖子你也看了 http://topic.csdn.net/u/20111102/23/de735f0e-5ef0-4bd9-b53a-f12a265e4ff7.html?46824
哎 真是纠结了。
哪位大哥肯帮我跑一下指点啊。
邮箱goufan@qq.com
zhoujiaolongde 2011-11-03
  • 打赏
  • 举报
回复
AndroidManifest.xml呢 其他的我真没看出啥错误
真实的蚂蚁 2011-11-03
  • 打赏
  • 举报
回复
终于顺利的跳过这一节了,原来是main.xml的问题
dashaoye89 2011-11-02
  • 打赏
  • 举报
回复
我也是正在弄这个程序,你那块倒是没有问题,我的问题出现在EditText取值那块,你的是不是有可能,你那个stream.xml中没写对啊!?
真实的蚂蚁 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 stylewang0529 的回复:]

引用 1 楼 goufanbbs 的回复:

有没有夜猫子半夜肯帮小弟解决一下的啊 ,我是那种不解决了问题瞌睡就睡不好的人……

我和你一样,也是自学的。

你想干什么 ?
[/Quote]

就是一个简单的Acitivity 居然不行 哎 实在不知道哪儿的问题 我把代码全贴上吧
package gale.activity03;

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

public class Acitivity03 extends Activity {
/** Called when the activity is first created. */
private Button calculate;
private EditText factorOne;
private EditText factorTwo;
private TextView symbol;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
factorOne=(EditText)findViewById(R.id.factorOne);
factorTwo=(EditText)findViewById(R.id.factorTwo);
calculate=(Button)findViewById(R.id.calculate);
symbol=(TextView)findViewById(R.id.symbol);

//symbol.setText("乘以");
//calculate.setText("计算");
symbol.setText(R.string.symbol);
calculate.setText(R.string.calculate);
//将监听器绑定到按钮对象上
calculate.setOnClickListener(new CalculateListener());
}

class CalculateListener implements OnClickListener{

@Override
public void onClick(View v) {
//取得两个EditText控件的值
String factorOneStr = factorOne.getText().toString();
String factorTwoStr = factorTwo.getText().toString();
//将这两个值存放到Intent对象当中
Intent intent=new Intent();
intent.putExtra("one", factorOneStr);
intent.putExtra("two", factorTwoStr);
intent.setClass(Acitivity03.this, ResaultActivity.class);
//最后引用这个Intent的值来启动ResaultActivity
Acitivity03.this.startActivity(intent);
}
}
}

就是设置symbol显示,随便怎么就有问题、
//symbol.setText("乘以");
//calculate.setText("计算");
真实的蚂蚁 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yunffern 的回复:]

我怎么没看到你有定义factorOne等的这些(实例)变量......本人新手,说错请勿见怪
[/Quote]

定义了的,
没有这两行都没问题
symbol.setText(R.string.symbol);
calculate.setText(R.string.calculate);
zhaochen666 2011-11-02
  • 打赏
  • 举报
回复
看看是不是中文编码问题
yunffern 2011-11-02
  • 打赏
  • 举报
回复
我怎么没看到你有定义factorOne等的这些(实例)变量......本人新手,说错请勿见怪
丿渎灬魂 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 goufanbbs 的回复:]

有没有夜猫子半夜肯帮小弟解决一下的啊 ,我是那种不解决了问题瞌睡就睡不好的人……
[/Quote]
我和你一样,也是自学的。

你想干什么 ?
真实的蚂蚁 2011-11-02
  • 打赏
  • 举报
回复
再次贴上全部代码 求高人指点啊。
Activity03
package gale.activity03;

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

public class Activity03 extends Activity {
/** Called when the activity is first created. */
private Button calculate;
private TextView symbol;
private EditText factorOne;
private EditText factorTwo;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
factorOne=(EditText)findViewById(R.id.factorOne);
symbol=(TextView)findViewById(R.id.symbol);
factorTwo=(EditText)findViewById(R.id.factorTwo);
calculate=(Button)findViewById(R.id.calculate);
//calculate.setText(R.string.calculate);
//symbol.setText(R.string.symbol);
calculate.setOnClickListener(new CalculateListener());

}

class CalculateListener implements OnClickListener{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent();
String factorOneStr=factorOne.getText().toString();
String factorTwoStr=factorTwo.getText().toString();
intent.putExtra("one", factorOneStr);
intent.putExtra("Two", factorTwoStr);
intent.setClass(Activity03.this, Result.class);
Activity03.this.startActivity(intent);
}
}
}

strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="hello">Hello World, Activity03!</string>
<string name="app_name">Activity03</string>
<string name="symbol">乘以</string>
<string name="calculate">计算</string>

</resources>

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

<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@+id/factorOne" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@+id/symbol" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@+id/factorTwo" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@+id/calculate" />

</LinearLayout>

Result

package gale.activity03;

import gale.activity03.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class Result extends Activity {
/** Called when the activity is first created. */
private TextView resultView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
resultView=(TextView)findViewById(R.id.result);
Intent intent=getIntent();
String factorOneStr=intent.getStringExtra("one");
String factorTwoStr=intent.getStringExtra("two");
int factorOne=Integer.parseInt(factorOneStr);
int factorTwo=Integer.parseInt(factorTwoStr);
int result=factorOne*factorTwo;
resultView.setText(result+"");

}

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


<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@+id/result" />

</LinearLayout>


应该发完的吧?我实在欲哭无泪了

gelimine 2011-11-02
  • 打赏
  • 举报
回复
你把打印信息发出来看看吧
zhoujiaolongde 2011-11-02
  • 打赏
  • 举报
回复
我实现了一个加法的sample 我看到论坛里另外一个兄弟也在纠结这个真的没错误啊。。

CalculatorAvtivity.java:
package com.zhoujl.android.calculator;

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

public class CalculatorAvtivity extends Activity {

private EditText et1,et2;
private TextView tv1;
private Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById();
setListener();
}

private void findViewById() {
et1 = (EditText)findViewById(R.id.et1);
et2 = (EditText)findViewById(R.id.et2);
button = (Button)findViewById(R.id.button1);
}

private void setListener() {
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
String number1 = et1.getText().toString().trim();
String number2 = et2.getText().toString().trim();
Intent intent = new Intent();
intent.setClass(CalculatorAvtivity.this, Result.class);
intent.putExtra("number1", number1);
intent.putExtra("number2", number2);
startActivity(intent);
}
});
}
}

Result.java
package com.zhoujl.android.calculator;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class Result extends Activity {

TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
tv = (TextView)findViewById(R.id.tv);
Intent intent = getIntent();
float number1 = Float.parseFloat(intent.getStringExtra("number1"));
float number2 = Float.parseFloat(intent.getStringExtra("number2"));
tv.setText("结果是"+(number1+number2));
}


}


main.xml
<?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"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>

<EditText android:id="@+id/et1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<EditText android:id="@+id/et2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView android:id="@+id/tv1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/cal"
/>
<Button android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button"
/>
</LinearLayout>

result.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zhoujl.android.calculator"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".CalculatorAvtivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Result">
</activity>
</application>
<uses-sdk android:minSdkVersion="8" />

</manifest>


strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, CalculatorAvtivity!</string>
<string name="app_name">Calculator</string>
<string name="cal">加</string>
<string name="button">计算</string>
</resources>

真实的蚂蚁 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 doveqian 的回复:]

这个是mars视频中的activity03吧 MS没问题啊
你把打印信息发出来看看吧
[/Quote]

嗯 晚上回去就发给你帮我看看。
我也觉得是没问题,昨晚整到3点,我把之前的Acivity02的复制出来改就行、我自己写就又还是这样。你帮我分析下是什么问题。郁闷得我哦 蛋都要疼碎了,今天还一大早起来上班
加载更多回复(17)

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧