解决方案 »
- 在模拟器上装小游戏
- 两个Activity之间传值问题
- android4.0 支持泰国语吗?
- 为什么 android 开发手机拨号器的时候另外一台手机接收不到
- 自定义ScrollView后,使用onDraw里面的canvas进行绘图后导致ScrollView无法滚动。
- 做android开发,在学习阶段需要真机吗?
- 这两个eclipse分别作用是什么??
- 新手!Android为button添加事件问题
- Android语音用speex编解码边录边放,求大神解决参数问题
- 网易新闻添加列表是怎样实现的,给个思路
- unfortunately MyFirst has stopped 如何解决
- 如何在一个activity中监听开机键是否按下
我就是用的debug看到exception的内容的。控件没有帮到内容,是空指针,我知道,可是不知道怎么解决。请教你……
bmain.xml在res的layout里面。
前两个方法
InitImageView();
InitButtonView();
都能通过,只有InitViewPager();无法通过。我定义的控件在bmain里面都有。
bmain.xml在res的layout里面。
前两个方法
InitImageView();
InitButtonView();
都能通过,只有InitViewPager();无法通过。我定义的控件在bmain里面都有。是哪句空指针呢?贴完整的log
bmain.xml在res的layout里面。
前两个方法
InitImageView();
InitButtonView();
都能通过,只有InitViewPager();无法通过。我定义的控件在bmain里面都有。是哪句空指针呢?贴完整的log
07-22 10:19:17.697: E/AndroidRuntime(781): FATAL EXCEPTION: main07-22 10:19:17.697: E/AndroidRuntime(781): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.andyidea.tabdemo/com.andyidea.tabdemo.BActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.andyidea.tabdemo/com.andyidea.tabdemo.Item_java}: java.lang.NullPointerException07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1656)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:676)07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.TabHost.setCurrentTab(TabHost.java:345)07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.TabHost.setCurrentTabByTag(TabHost.java:282)07-22 10:19:17.697: E/AndroidRuntime(781): at com.andyidea.tabdemo.MainTabActivity.onCheckedChanged(MainTabActivity.java:58)07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.CompoundButton.setChecked(CompoundButton.java:124)07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.CompoundButton.toggle(CompoundButton.java:86)07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.RadioButton.toggle(RadioButton.java:72)07-22 10:19:17.697: E/AndroidRuntime(781): at android.widget.CompoundButton.performClick(CompoundButton.java:98)07-22 10:19:17.697: E/AndroidRuntime(781): at android.view.View$PerformClick.run(View.java:11934)07-22 10:19:17.697: E/AndroidRuntime(781): at android.os.Handler.handleCallback(Handler.java:587)07-22 10:19:17.697: E/AndroidRuntime(781): at android.os.Handler.dispatchMessage(Handler.java:92)07-22 10:19:17.697: E/AndroidRuntime(781): at android.os.Looper.loop(Looper.java:132)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.main(ActivityThread.java:4123)07-22 10:19:17.697: E/AndroidRuntime(781): at java.lang.reflect.Method.invokeNative(Native Method)07-22 10:19:17.697: E/AndroidRuntime(781): at java.lang.reflect.Method.invoke(Method.java:491)07-22 10:19:17.697: E/AndroidRuntime(781): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)07-22 10:19:17.697: E/AndroidRuntime(781): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)07-22 10:19:17.697: E/AndroidRuntime(781): at dalvik.system.NativeStart.main(Native Method)07-22 10:19:17.697: E/AndroidRuntime(781): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.andyidea.tabdemo/com.andyidea.tabdemo.Item_java}: java.lang.NullPointerException07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1656)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)07-22 10:19:17.697: E/AndroidRuntime(781): at com.andyidea.tabdemo.BActivity.InitViewPager(BActivity.java:44)07-22 10:19:17.697: E/AndroidRuntime(781): at com.andyidea.tabdemo.BActivity.onCreate(BActivity.java:39)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.Activity.performCreate(Activity.java:4397)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)07-22 10:19:17.697: E/AndroidRuntime(781): ... 21 more07-22 10:19:17.697: E/AndroidRuntime(781): Caused by: java.lang.NullPointerException07-22 10:19:17.697: E/AndroidRuntime(781): at com.andyidea.tabdemo.Item_java.onCreate(Item_java.java:77)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.Activity.performCreate(Activity.java:4397)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)07-22 10:19:17.697: E/AndroidRuntime(781): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)07-22 10:19:17.697: E/AndroidRuntime(781): ... 29 more这些,能看清吗?不行我就截图
在 Item_java 的 77 行 出现的问题 什么代码啊 这个 Item_java 类的代码 贴下
public class Item_java extends ActivityGroup{
static TextView tvtext;
static TextView tvjiage;
static TextView tvliulanrenshu;
static LinearLayout linearlo;
private AsyncImageLoader loader = new AsyncImageLoader();
private static String URL=DBUtil.getURL();
private static String NAMESPACE=DBUtil.getNAMESPACE();
//调用方法名
private static String METHOD_NAME="SelectVideoByType ";
private static String SOAP_ACTION=NAMESPACE+METHOD_NAME;
private static int[] javatexta={R.id.javatext1,R.id.javatext2,R.id.javatext3,R.id.javatext4,
R.id.javatext5,R.id.javatext6,R.id.javatext7,R.id.javatext8,R.id.javatext9,R.id.javatext10,
R.id.javatext11,R.id.javatext12,R.id.javatext13,R.id.javatext14,R.id.javatext15};
private static int[] javapica={R.id.javapic1,R.id.javapic2,R.id.javapic3,R.id.javapic4,R.id.javapic5,
R.id.javapic6,R.id.javapic7,R.id.javapic8,R.id.javapic9,R.id.javapic10,R.id.javapic11,
R.id.javapic12,R.id.javapic13,R.id.javapic14,R.id.javapic15};
private static int[] javajiagea={R.id.javajiage1,R.id.javajiage2,R.id.javajiage3,R.id.javajiage4,
R.id.javajiage5,R.id.javajiage6,R.id.javajiage7,R.id.javajiage8,R.id.javajiage9,R.id.javajiage10,
R.id.javajiage11,R.id.javajiage12,R.id.javajiage13,R.id.javajiage14,R.id.javajiage15};
private static int[] javaa={0,R.id.java2,R.id.java3,R.id.java4,R.id.java5,
R.id.java6,R.id.java7,R.id.java8,R.id.java9,R.id.java10,R.id.java11,
R.id.java12,R.id.java13,R.id.java14,R.id.java15};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.item_java);
for(int x=0;x < 10;x++)
{
String[] java=getVideoJSON("", "Java技术",x);
if(java[x]==null)
break;
else
{
if(x==0)
{
tvliulanrenshu=(TextView)this.findViewById(R.id.dotnetliulanrenshu1);
tvliulanrenshu.setText(java[3]+"人");
tvtext=(TextView)findViewById(javatexta[x]);
tvjiage=(TextView)findViewById(javajiagea[x]);
tvtext.setText(java[0]);
tvjiage.setText(java[1]+"元");
}
else
{
linearlo=(LinearLayout)this.findViewById(javaa[x]);
linearlo.setVisibility(View.VISIBLE);
loadImage("http://192.168.1.112:8001/" + java[2],javapica[x]);
tvtext=(TextView)this.findViewById(javatexta[x]);
tvjiage=(TextView)this.findViewById(javajiagea[x]);
tvtext.setText(java[0]);
tvjiage.setText(java[1]+"元");
}
}
}
}
public static String[] getVideoJSON(String strUPhone,String strVD,int index)
{
String[] str=null;
try {
SoapObject rpc=new SoapObject(NAMESPACE, METHOD_NAME);
// 设置调用方法的参数值,如果没有参数,可以省略,但是我们一般都有参数的
rpc.addProperty("UPhone", strUPhone);
rpc.addProperty("VD", strVD);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
HttpTransportSE ht=new HttpTransportSE(URL);
ht.debug=true;
ht.call(SOAP_ACTION, envelope);
SoapObject detail=(SoapObject) envelope.getResponse();
System.out.println("detail" + detail);
str=JsonToString(detail,index);
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
@SuppressWarnings("null")
public static String[] JsonToString(SoapObject detail,int index) throws UnsupportedEncodingException
{
String[] namepricepic={"","","",""};
try {
String strJson=detail.getProperty(index).toString();
JSONObject dataJson=new JSONObject(strJson);
JSONArray tbVideo=dataJson.getJSONArray("tbVideo"); JSONObject info=tbVideo.getJSONObject(index);
namepricepic[0]=info.getString("VideoName");
namepricepic[1]=info.getString("VideoPrice");
namepricepic[2]=info.getString("VideoPic");
namepricepic[3]=info.getString("VideoPeople");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return namepricepic;
}
//url:下载图片的url
//id:ImageView控件的id
private void loadImage(final String url, final int id) {
// TODO Auto-generated method stub
//如果缓存过就会从缓存中取出图像,ImageCallback接口中方法也不会被执行
ImageView imageView = (ImageView) findViewById(id);
CallbackImpl callbackImpl = new CallbackImpl(imageView);
Drawable cacheImage = loader.loadDrawable(url, callbackImpl);
if(cacheImage!=null){
imageView.setImageDrawable(cacheImage);
}
}
}
package com.andyidea.tabdemo;import java.io.UnsupportedEncodingException;import org.json.JSONArray;
import org.json.JSONObject;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;import com.andyidea.tabdemo.AsyncImageLoader;
import com.andyidea.tabdemo.CallbackImpl;
import com.andyidea.tabdemo.R;
import com.studyonline.connsoap.DBUtil;import android.app.ActivityGroup;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;public class Item_java extends ActivityGroup{
static TextView tvtext;
static TextView tvjiage;
static TextView tvliulanrenshu;
static LinearLayout linearlo;
private AsyncImageLoader loader = new AsyncImageLoader();
private static String URL=DBUtil.getURL();
private static String NAMESPACE=DBUtil.getNAMESPACE();
//调用方法名
private static String METHOD_NAME="SelectVideoByType ";
private static String SOAP_ACTION=NAMESPACE+METHOD_NAME;
private static int[] javatexta={R.id.javatext1,R.id.javatext2,R.id.javatext3,R.id.javatext4,
R.id.javatext5,R.id.javatext6,R.id.javatext7,R.id.javatext8,R.id.javatext9,R.id.javatext10,
R.id.javatext11,R.id.javatext12,R.id.javatext13,R.id.javatext14,R.id.javatext15};
private static int[] javapica={R.id.javapic1,R.id.javapic2,R.id.javapic3,R.id.javapic4,R.id.javapic5,
R.id.javapic6,R.id.javapic7,R.id.javapic8,R.id.javapic9,R.id.javapic10,R.id.javapic11,
R.id.javapic12,R.id.javapic13,R.id.javapic14,R.id.javapic15};
private static int[] javajiagea={R.id.javajiage1,R.id.javajiage2,R.id.javajiage3,R.id.javajiage4,
R.id.javajiage5,R.id.javajiage6,R.id.javajiage7,R.id.javajiage8,R.id.javajiage9,R.id.javajiage10,
R.id.javajiage11,R.id.javajiage12,R.id.javajiage13,R.id.javajiage14,R.id.javajiage15};
private static int[] javaa={0,R.id.java2,R.id.java3,R.id.java4,R.id.java5,
R.id.java6,R.id.java7,R.id.java8,R.id.java9,R.id.java10,R.id.java11,
R.id.java12,R.id.java13,R.id.java14,R.id.java15};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.item_java);
for(int x=0;x < 10;x++)
{
String[] java=getVideoJSON("", "Java技术",x);
if(java[x]==null)
break;
else
{
if(x==0)
{
tvliulanrenshu=(TextView)this.findViewById(R.id.dotnetliulanrenshu1);
tvliulanrenshu.setText(java[3]+"人");
tvtext=(TextView)findViewById(javatexta[x]);
tvjiage=(TextView)findViewById(javajiagea[x]);
tvtext.setText(java[0]);
tvjiage.setText(java[1]+"元");
}
else
{
linearlo=(LinearLayout)this.findViewById(javaa[x]);
linearlo.setVisibility(View.VISIBLE);
loadImage("http://192.168.1.112:8001/" + java[2],javapica[x]);
tvtext=(TextView)this.findViewById(javatexta[x]);
tvjiage=(TextView)this.findViewById(javajiagea[x]);
tvtext.setText(java[0]);
tvjiage.setText(java[1]+"元");
}
}
}
}
public static String[] getVideoJSON(String strUPhone,String strVD,int index)
{
String[] str=null;
try {
SoapObject rpc=new SoapObject(NAMESPACE, METHOD_NAME);
// 设置调用方法的参数值,如果没有参数,可以省略,但是我们一般都有参数的
rpc.addProperty("UPhone", strUPhone);
rpc.addProperty("VD", strVD);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
HttpTransportSE ht=new HttpTransportSE(URL);
ht.debug=true;
ht.call(SOAP_ACTION, envelope);
SoapObject detail=(SoapObject) envelope.getResponse();
System.out.println("detail" + detail);
str=JsonToString(detail,index);
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
@SuppressWarnings("null")
public static String[] JsonToString(SoapObject detail,int index) throws UnsupportedEncodingException
{
String[] namepricepic={"","","",""};
try {
String strJson=detail.getProperty(index).toString();
JSONObject dataJson=new JSONObject(strJson);
JSONArray tbVideo=dataJson.getJSONArray("tbVideo"); JSONObject info=tbVideo.getJSONObject(index);
namepricepic[0]=info.getString("VideoName");
namepricepic[1]=info.getString("VideoPrice");
namepricepic[2]=info.getString("VideoPic");
namepricepic[3]=info.getString("VideoPeople");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return namepricepic;
}
//url:下载图片的url
//id:ImageView控件的id
private void loadImage(final String url, final int id) {
// TODO Auto-generated method stub
//如果缓存过就会从缓存中取出图像,ImageCallback接口中方法也不会被执行
ImageView imageView = (ImageView) findViewById(id);
CallbackImpl callbackImpl = new CallbackImpl(imageView);
Drawable cacheImage = loader.loadDrawable(url, callbackImpl);
if(cacheImage!=null){
imageView.setImageDrawable(cacheImage);
}
}
}
看这个完整的吧。上面那个是把import 缩去了
我不知道……我看上面有名字,就全选上了…………我是小白。第三天用csdn
我的这个构造是这样的: 一个大页面里包含着一个小页面,这个小页面又包含着四个更小一层的页面。这四个更小一层的页面里面的语句也是打断点debug?我调试的时候无法进到这四个更小页面的调试里。只能在中间一层页面调试。
我不知道……我看上面有名字,就全选上了…………我是小白。第三天用csdn小白都会用viewgroup了,碉堡的节奏啊,我身为版主都不会,面壁思过去了,,,
我不知道……我看上面有名字,就全选上了…………我是小白。第三天用csdn小白都会用viewgroup了,碉堡的节奏啊,我身为版主都不会,面壁思过去了,,,版主会用 ctrl+c ctrl+v 吗?
我的这个构造是这样的: 一个大页面里包含着一个小页面,这个小页面又包含着四个更小一层的页面。这四个更小一层的页面里面的语句也是打断点debug?我调试的时候无法进到这四个更小页面的调试里。只能在中间一层页面调试。oncreate那里肯定可以debug到,因为你再上一个父viewgroup的实例化这个activity,它就有了生命周期,这就是tabhost实现原理呗,,,
我的这个构造是这样的: 一个大页面里包含着一个小页面,这个小页面又包含着四个更小一层的页面。这四个更小一层的页面里面的语句也是打断点debug?我调试的时候无法进到这四个更小页面的调试里。只能在中间一层页面调试。oncreate那里肯定可以debug到,因为你再上一个父viewgroup的实例化这个activity,它就有了生命周期,这就是tabhost实现原理呗,,,哇~我弄到了,是tvliulanrenshu这个变量没有赋值,是空指针。
tvliulanrenshu=(TextView)this.findViewById(R.id.dotnetliulanrenshu1);
这句话有错吧。用this不行?