討論區快速選單
知識庫快速選單
軟體開發過程中有哪些資安漏洞? 傑米的攝影旅遊筆記 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
於自建類別中呼叫Toast錯誤的問題
更改我的閱讀文章字型大小
作者 : iamlaiyijung(呆呆)
[ 貼文 2 | 人氣 1 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/1 下午 12:51:50
簡述: 問題我在res底下建立一個類別msg如下
// msg.java類別//
package com.example.app1;
import android.app.Activity;
import android.widget.Toast;
public class msg extends Activity {

public void msgshow()
{
Toast.makeText(this, "hello",Toast.LENGTH_SHORT).show();
}

}

問題: 為何我執行程式,按下按鈕bt2 程式就停止回應!!寫法有錯嗎?
請高手大大指教!!

//MainActivity.java類//
package com.example.app1;

import com.example.app1.msg;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.*;


public class MainActivity extends Activity {

static msg s1 =new msg();

private Button bt2;


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

bt2=(Button)this.findViewById(R.id.bt2);


bt2.setOnClickListener(new Button.OnClickListener(){

@Override
public void onClick(View v) {

s1.msgshow();

}});


}

@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;
}
作者 : henry434343(panda121)
[ 貼文 11 | 人氣 0 | 評價 50 | 評價/貼文 4.55 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人iamlaiyijung註記此篇回應為最佳解答 2013/8/1 下午 06:17:42
1.你一個class沒要當Activity用繼承Activity幹嘛
2.然後繼承Activity不會用new,會用intent帶出Activity

你new了一個Activity ,然後要顯示Toast,問題是你根本沒有Activity在畫面上要怎麼顯示Toast
不懂沒關係,直接告訴你怎麼改
public class msg {
     public void msgshow(Context context)
     {
     Toast.makeText(context, "hello",Toast.LENGTH_SHORT).show();
     }
}

----------------------------------------------------------------

public class MainActivity extends Activity {

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

     msg s1 =new msg();
     bt2=(Button)this.findViewById(R.id.bt2);
     bt2.setOnClickListener(new Button.OnClickListener(){

     @Override
     public void onClick(View v) {

     s1.msgshow(MainActivity.this);

     }
     });
}
作者 : iamlaiyijung(呆呆)
[ 貼文 2 | 人氣 1 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/2 上午 01:21:16
感謝你的教學!!初學者說~話說連JAVA語法都搞不懂的說|||慚愧感謝神大救助!!
在不要臉的請教~以上範例如果改成AlertDialog 怎麼寫在另一個類別中呢?感謝神大再次出手相救!!QQ
作者 : ozzy123(ozzy) VC++優秀好手資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4499 | 人氣 37262 | 評價 11100 | 評價/貼文 2.47 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/8/2 上午 08:54:33
http://toimy.blogspot.tw/2010/08/android-alertdialog.html
 板主 : 徵求中
 > Android - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Android - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Android
1 ozzy 340 
2 Jeffrey 110 
3 克理斯 110 
4 20100410 100 
5 farastein 90 
6 蓋柏拉許 70 
7 member one 60 
8 joe 50 
9 panda121 50 
10 kk 50 
Android
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125