在模拟器中没有我的应用程序的输出

时间:2014-01-22 11:57:02

标签: android android-emulator

我是android的新手,所以我有问题,我想创建一个文本框,我的代码在下面

main_xml文件:

<LinearLayout 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"
         tools:context=".MainActivity" >

         <EditText
               android:id="@+id/mytextText"
               android:layout_width="match_parent"
               android:layout_height="wrap_content" >
               <requestFocus />
         </EditText>
</LinearLayout>     

Java代码是:

 package com.example.text;
 import android.os.Bundle;
 import android.app.Activity;
 import android.view.Menu;

 import android.app.Activity;

 import android.os.Bundle;

 import android.view.KeyEvent;

 import android.view.View;

 import android.view.View.OnKeyListener;

 import android.widget.EditText;

 import android.widget.Toast;

 public class MainActivity extends Activity {

       private EditText edittext;

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

             setContentView(R.layout.activity_main);

             addKeyListener();
       }

       public void addKeyListener() {
            // get edittext component
            edittext = (EditText) findViewById(R.id.menu_settings);

           // add a keylistener to monitor the keaybord avitvity...
           edittext.setOnKeyListener(new OnKeyListener() {
                    public boolean onKey(View v, int keyCode, KeyEvent event) {                                                                  

                           // if the users pressed a button and that button was "0"
                           if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_0)) { 
                                // display the input text....
                                Toast.makeText(MainActivity.this,edittext.getText(), Toast.LENGTH_LONG).show();
                                return true;

                                // if the users pressed a button and that button was "9"

                           } else if ((event.getAction() == KeyEvent.ACTION_DOWN)  && (keyCode == KeyEvent.KEYCODE_9))   {
                               // display message
                               Toast.makeText(MainActivity.this, "Number 9 is pressed!", Toast.LENGTH_LONG).show();
                               return true;
                           }

                           return false;

                    }
          });

     }
 }

My Output I in ecilips is that:

但我的模拟器中没有创建任何应用程序,我不明白,代码中没有错误,apk正在上传,但没有ouptut plz,帮助我

3 个答案:

答案 0 :(得分:1)

可能是因为您可能尚未在清单中将活动声明为LAUNCHER。  这就是为什么它刚刚安装没有启动。

在清单中将您的活动声明为启动器活动,如下所示:

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

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    </application>

<intent-filter>定义活动,服务或广播接收者可以响应的意图类型。意图过滤器声明其父组件的功能 - 活动或服务可以做什么以及接收者可以处理什么类型的广播。

同样在您的活动中,您错误地定义了id EditText,它在您的布局文件中有所不同。

EditText R.id.menu_settings的ID更改为R.id.mytextText。如下所示初始化EditText

 edittext = (EditText) findViewById(R.id.mytextText);

答案 1 :(得分:0)

edittext = (EditText) findViewById(R.id.menu_settings);

更改为

edittext = (EditText) findViewById(R.id.mytextText);

最有可能

如果不能正常重播

答案 2 :(得分:0)

在Android清单文件中添加您的MainActivity类然后改变编辑文本ID引用它应该在xml和java代码中相同然后只在您的xml编辑文本id mytext中执行一些action.suppose它应该在java类中相同。现在运行它应该启动的程序。