Android 台灣中文網

標題: 幫忙看一下錯誤訊息 [打印本頁]

作者: tequila0630    時間: 2014-5-12 00:02
標題: 幫忙看一下錯誤訊息
這是我的 MainActivity.java 檔案內容

package com.eLeopcard.cxbutton;

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.os.Build;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {
                private Button btnDo;
                private TextView txtShow;
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
//*******************
                btnDo = (Button)findViewById(R.id.button1);
                btnDo.setOnClickListener(btnDoListener);
                txtShow = (TextView)findViewById(R.id.textView1);
               
                //**********************
                private Button.OnClickListener btnDoListener =
                                new Button.OnClickListener(){
                        public void onClick(View v){
                                // TODO
                                txtShow.setText("您按到我了!");
                       
                        }
                };
               
                if (savedInstanceState == null) {
                        getSupportFragmentManager().beginTransaction()
                                        .add(R.id.container, new PlaceholderFragment()).commit();
                }
               
       
        }

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

}

在紅字的地方發生錯誤 請問是哪裡出錯了

作者: whl    時間: 2014-5-12 07:42
順序嗎?
作者: CarolHsieh    時間: 2014-5-12 09:28
  1. btnDo = (Button)findViewById(R.id.button1);
  2.             //btnDo.setOnClickListener(btnDoListener);
  3.             txtShow = (TextView)findViewById(R.id.textView1);
  4.             btnDo.setOnClickListener(new OnClickListener() {
  5.                 public void onClick(View v) {
  6.                     // TODO
  7.                     txtShow.setText("您按到我了!");
  8.             
  9.             }
  10.     });
複製代碼


改這樣試試吧
作者: tequila0630    時間: 2014-5-12 10:58
本帖最後由 tequila0630 於 2014-5-12 12:29 編輯

謝謝你的幫忙 可是 在模擬器跟實機上執行都會出現錯誤XD
作者: CarolHsieh    時間: 2014-5-12 13:53
tequila0630 發表於 2014-5-12 10:58
謝謝你的幫忙 可是 在模擬器跟實機上執行都會出現錯誤XD

錯誤是在同樣的地方嗎??
下斷點看看問題在哪
作者: tequila0630    時間: 2014-5-12 16:23
CarolHsieh 發表於 2014-5-12 13:53
錯誤是在同樣的地方嗎??
下斷點看看問題在哪

程式沒有出現錯誤~
是開啟模擬器還有在實機上測試 會出現 "很抱歉,CxButton已停止" 的視窗0.0
作者: CarolHsieh    時間: 2014-5-12 17:04
tequila0630 發表於 2014-5-12 16:23
程式沒有出現錯誤~
是開啟模擬器還有在實機上測試 會出現 "很抱歉,CxButton已停止" 的視窗0.0  ...

如果你的Button和TextView是在Fragment裡
就把你的MainActivity上面宣告Button和TextView
和裡面onCreate部分的Button和TextView都刪掉或先註解掉

再把你的副程式 PlaceholderFragment 修改成這樣試試看

  1. public static class PlaceholderFragment extends Fragment {

  2.                 public PlaceholderFragment() {
  3.                 }

  4.                 @Override
  5.                 public View onCreateView(LayoutInflater inflater, ViewGroup container,
  6.                                 Bundle savedInstanceState) {
  7.                         View rootView = inflater.inflate(R.layout.fragment_main, container,
  8.                                         false);
  9.                         
  10.                         Button btnDo = (Button)rootView.findViewById(R.id.button1);               
  11.                         final TextView txtShow = (TextView)rootView.findViewById(R.id.textView1);
  12.                         btnDo.setOnClickListener(new OnClickListener() {
  13.                             public void onClick(View v) {
  14.                                 // TODO
  15.                                 txtShow.setText("您按到我了!");
  16.                         
  17.                         }
  18.                 });
  19.                         return rootView;
  20.                 }
  21.         }
複製代碼

作者: tequila0630    時間: 2014-5-12 17:21
CarolHsieh 發表於 2014-5-12 17:04
如果你的Button和TextView是在Fragment裡
就把你的MainActivity上面宣告Button和TextView
和裡面onCreate ...

可以了 謝謝@@!!




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1