Java 不幸的是,应用程序已停止android emulator genymotion
我是android应用开发新手(从昨天开始,我才开始学习android) 我在AVD中收到类似的消息-不幸的是,已停止,请帮助我解决此错误,我想在android中了解更多信息,但被此错误所吸引。。plz..plz。。帮我解决这个问题 我的main.java是Java 不幸的是,应用程序已停止android emulator genymotion,java,android,Java,Android,我是android应用开发新手(从昨天开始,我才开始学习android) 我在AVD中收到类似的消息-不幸的是,已停止,请帮助我解决此错误,我想在android中了解更多信息,但被此错误所吸引。。plz..plz。。帮我解决这个问题 我的main.java是 package com.example.first; public class MainActivity extends Activity { int counter = 0 ; Button add,sub; TextView to
package com.example.first;
public class MainActivity extends Activity {
int counter = 0 ;
Button add,sub;
TextView total;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
add = (Button) findViewById(R.id.bt_add);
sub = (Button) findViewById(R.id.bt_sub);
total = (TextView) findViewById(R.id.textView1);
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
counter++;
total.setText("ur total is "+ counter);
}
});
}
@Override
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;
}
@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);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
}
}
我的main.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="com.example.first.MainActivity$PlaceholderFragment" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="ur total is 0"
android:textSize="40sp" />
<Button
android:id="@+id/bt_add"
android:layout_width="250dp"
android:layout_height="40dp"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="add one" />
<Button
android:id="@+id/bt_sub"
android:layout_width="250dp"
android:layout_height="40dp"
android:layout_alignLeft="@+id/bt_add"
android:layout_below="@+id/bt_add"
android:layout_marginTop="19dp"
android:text="sub one" />
请。。解释我为什么会变成这样。。告诉我解决方案看起来您忘记在清单中声明活动了。将此添加到您的AndroidManifest.xml:
<activity android:label="AnotherActivity" android:name="com.somayaji.abhi.Second" />
该日志显示您尚未在android manefist.xml文件中注册您的活动。每个活动都必须在android清单文件中注册才能工作。(引自developers.android.com)
您在第38行获得了NPE,即:
add.setOnClickListener(new View.OnClickListener()
因此,add
为空,因为您将按钮声明为:
add = (Button) findViewById(R.id.bt_add);
所以bt\u add
id在activity\u main
上不存在,我认为您发布的这个xml是fragment\u main.xml
或其他任何东西
当您将主布局定义为中的activity\u main
时
setContentView(R.layout.activity_main);
因此,您必须在activity\u main
1-bt\u添加
2-bt_sub
3-textView1
因此,您必须具有类似以下代码的activity\u main
:
<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" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="ur total is 0"
android:textSize="40sp" />
<Button
android:id="@+id/bt_add"
android:layout_width="250dp"
android:layout_height="40dp"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="add one" />
<Button
android:id="@+id/bt_sub"
android:layout_width="250dp"
android:layout_height="40dp"
android:layout_alignLeft="@+id/bt_add"
android:layout_below="@+id/bt_add"
android:layout_marginTop="19dp"
android:text="sub one" />
从2014年8月26日开始,似乎有很多更简单的方法来解决这个问题(如果我错了,请纠正我),但您所要做的就是在main.java中进行更改 setContentView(R.layout.activity_main);到 setContentView(R.layout.fragment_main);
唯一更新的原因是我有相同的问题ty。请发布logcat ErrorDot:)请帮助我:(将其粘贴到任何位置?将其粘贴到标记前的AndroidManifest.xml中。这是38:40 add.setOnClickListener(new View.OnClickListener(){public void onClick(View v){counter++;total.setText(“ur total是”+计数器);}});是的,它的片段_main.xml有什么问题吗?将
xml
内容复制到activity_main
中,您的问题就会消失
setContentView(R.layout.activity_main);
<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" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="ur total is 0"
android:textSize="40sp" />
<Button
android:id="@+id/bt_add"
android:layout_width="250dp"
android:layout_height="40dp"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="add one" />
<Button
android:id="@+id/bt_sub"
android:layout_width="250dp"
android:layout_height="40dp"
android:layout_alignLeft="@+id/bt_add"
android:layout_below="@+id/bt_add"
android:layout_marginTop="19dp"
android:text="sub one" />