- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在抽屉导航中添加图片,我把它放在 drawable 文件夹中,大小为 48*48,我的字符串数组字符串数组在 string.xml 中,
我遵循了教程,但最后我所做的更改导致我的应用程序崩溃,我无法弄清楚问题是什么以及如何解决?
这是异常(exception)
01-23 19:32:41.277: E/AndroidRuntime(16889): java.lang.NullPointerException
01-23 19:32:41.277: E/AndroidRuntime(16889): at com.pKLabs.RgpvDigest.MyAdapter.getView(MainActivity.java:339)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.widget.AbsListView.obtainView(AbsListView.java:2733)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.widget.ListView.makeAndAddView(ListView.java:1811)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.widget.ListView.fillDown(ListView.java:697)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.widget.ListView.fillFromTop(ListView.java:763)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.widget.ListView.layoutChildren(ListView.java:1641)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.widget.AbsListView.onLayout(AbsListView.java:2546)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.View.layout(View.java:15664)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.ViewGroup.layout(ViewGroup.java:4869)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:914)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.View.layout(View.java:15664)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.ViewGroup.layout(ViewGroup.java:4869)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.View.layout(View.java:15664)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.ViewGroup.layout(ViewGroup.java:4869)
01-23 19:32:41.277: E/AndroidRuntime(16889): at com.android.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:429)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.View.layout(View.java:15664)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.ViewGroup.layout(ViewGroup.java:4869)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.View.layout(View.java:15664)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.ViewGroup.layout(ViewGroup.java:4869)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2246)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1968)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1200)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6401)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:803)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.Choreographer.doCallbacks(Choreographer.java:603)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.Choreographer.doFrame(Choreographer.java:573)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:789)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.os.Handler.handleCallback(Handler.java:733)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.os.Handler.dispatchMessage(Handler.java:95)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.os.Looper.loop(Looper.java:157)
01-23 19:32:41.277: E/AndroidRuntime(16889): at android.app.ActivityThread.main(ActivityThread.java:5335)
01-23 19:32:41.277: E/AndroidRuntime(16889): at java.lang.reflect.Method.invokeNative(Native Method)
01-23 19:32:41.277: E/AndroidRuntime(16889): at java.lang.reflect.Method.invoke(Method.java:515)
01-23 19:32:41.277: E/AndroidRuntime(16889): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
01-23 19:32:41.277: E/AndroidRuntime(16889): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
01-23 19:32:41.277: E/AndroidRuntime(16889): at dalvik.system.NativeStart.main(Native Method)
主 Activity
public class MainActivity extends ActionBarActivity implements
OnItemClickListener {
private DrawerLayout drawerLayout;
private ListView listView;
// private String[] navdra;
private ActionBarDrawerToggle drawerListner;
private MyAdapter myAdapter;
Intent shareintent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// navdra = getResources().getStringArray(R.array.navdra);
listView = (ListView) findViewById(R.id.drawerlist);
myAdapter = new MyAdapter(this);
// listView.setAdapter(new ArrayAdapter<String>(this,
// android.R.layout.simple_expandable_list_item_1, navdra));
listView.setAdapter(myAdapter);
listView.setOnItemClickListener(this);
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
drawerListner = new ActionBarDrawerToggle(this, drawerLayout,
R.drawable.ic_drawer, R.string.dopen, R.string.dclose);
/*
* @Override public void onDrawerOpened(View drawerView) {
* Toast.makeText(MainActivity.this, "Open", Toast.LENGTH_SHORT)
* .show(); }
*
* @Override public void onDrawerClosed(View drawerView) {
* Toast.makeText(MainActivity.this, "Close", Toast.LENGTH_SHORT)
* .show(); } }
*/
drawerLayout.setDrawerListener(drawerListner);
getSupportActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
Button csv = (Button) findViewById(R.id.cs);
csv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(), Semester.class);
startActivityForResult(intent, 0);
}
});
Button cal = (Button) findViewById(R.id.cal);
cal.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(), Calculator.class);
startActivityForResult(intent, 0);
}
});
Button iq = (Button) findViewById(R.id.interviewquestion);
iq.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(),
InterviewQuestion.class);
startActivityForResult(intent, 0);
}
});
Button cg = (Button) findViewById(R.id.program);
cg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(v.getContext(), Programs.class);
startActivityForResult(intent, 0);
}
});
Button abt = (Button) findViewById(R.id.about);
abt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "PKlabs!!!",
Toast.LENGTH_SHORT).show();
// Intent intent = new Intent
// (v.getContext(),InterviewQuestion.class);
// startActivityForResult(intent,0);
}
});
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
drawerListner.onConfigurationChanged(newConfig);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onPostCreate(savedInstanceState);
drawerListner.syncState();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem item = menu.add("share"); // your desired title here
item.setIcon(R.drawable.share_icon); // your desired icon here
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
item.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
shareintent = new Intent(android.content.Intent.ACTION_SEND);
shareintent.setType("text/plain");
String shareBody = "Here is the share content body";
shareintent.putExtra(android.content.Intent.EXTRA_SUBJECT,
"Subject Here");
shareintent.putExtra(Intent.EXTRA_TEXT, "Hi there");
startActivity(Intent.createChooser(shareintent, "Share via"));
return true;
}
});
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
if (drawerListner.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
if (position == 0) {
Uri uri = Uri
.parse("https://2ce74af0d8de8783b91cdd315eeba0340a4b9277.googledrive.com/host/0B2sDUzNeIK0KODB0ZDRMVjFPaFE/Jobs.html");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
} else if (position == 1) {
Intent intent = new Intent(this, Careerguid.class);
startActivityForResult(intent, 0);
} else if (position == 2) {
Toast.makeText(this, "Coming Soon!!!", Toast.LENGTH_LONG).show();
}
// }
else if (position == 3) {
Uri uri = Uri.parse("http://www.google.com");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
else if (position == 4) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("plain/text");
final PackageManager pm = getPackageManager();
final List<ResolveInfo> matches = pm.queryIntentActivities(intent,
0);
ResolveInfo best = null;
for (final ResolveInfo info : matches)
if (info.activityInfo.packageName.endsWith(".gm")
|| info.activityInfo.name.toLowerCase().contains(
"gmail"))
best = info;
if (best != null)
intent.setClassName(best.activityInfo.packageName,
best.activityInfo.name);
intent.putExtra(Intent.EXTRA_EMAIL,
new String[] { "laboratorypk@gmail.com" });
intent.putExtra(Intent.EXTRA_SUBJECT, "Query/Feedback");
intent.putExtra(Intent.EXTRA_TEXT, "");
startActivity(Intent.createChooser(intent, ""));
}
if (position == 5) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("plain/text");
final PackageManager pm = getPackageManager();
final List<ResolveInfo> matches = pm.queryIntentActivities(intent,
0);
ResolveInfo best = null;
for (final ResolveInfo info : matches)
if (info.activityInfo.packageName.endsWith(".gm")
|| info.activityInfo.name.toLowerCase().contains(
"gmail"))
best = info;
if (best != null)
intent.setClassName(best.activityInfo.packageName,
best.activityInfo.name);
intent.putExtra(Intent.EXTRA_EMAIL,
new String[] { "laboratorypk@gmail.com" });
intent.putExtra(Intent.EXTRA_SUBJECT, "PC Games");
intent.putExtra(Intent.EXTRA_TEXT,
"Hey! I need PC Games pls share the List.");
startActivity(Intent.createChooser(intent, ""));
}
drawerLayout.closeDrawers();
selectItem(position);
}
public void selectItem(int position) {
// TODO Auto-generated method stub
listView.setItemChecked(position, true);
}
public void setTitle(String title) {
getSupportActionBar().setTitle(title);
}
private Toast toast;
private long lastBackPressTime = 0;
@Override
public void onBackPressed() {
if (this.lastBackPressTime < System.currentTimeMillis() - 4000) {
toast = Toast.makeText(this, "Press back again to exit",
Toast.LENGTH_LONG);
toast.show();
this.lastBackPressTime = System.currentTimeMillis();
drawerLayout.closeDrawers();
} else {
if (toast != null) {
toast.cancel();
}
super.onBackPressed();
}
}
}
class MyAdapter extends BaseAdapter {
private Context context;
String[] navlist;
int[] images = { R.drawable.job, R.drawable.career, R.drawable.project,
R.drawable.facebook, R.drawable.mail, R.drawable.games };
public MyAdapter(Context context) {
this.context = context;
navlist = context.getResources().getStringArray(R.array.navdra);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return navlist.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return navlist[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = null;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.customrow, parent, false);
}
else {
row = convertView;
}
TextView titleTextView = (TextView) row.findViewById(R.id.textView11);
ImageView titleImageView = (ImageView) row
.findViewById(R.id.imageView1);
titleTextView.setText(navlist[position]);
titleImageView.setImageResource(images[position]);
return row;
}
}
customrow.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_weight="1"
android:layout_height="wrap_content"
/>
<TextView
android:layout_margin="8dp"
android:id="@+id/textView11"
android:layout_width="wrap_content"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center"
/>
</LinearLayout>
最佳答案
row为null,将inflate的返回值赋给row变量。
row = inflater.inflate(R.layout.customrow, parent, false);
关于android - 在 MyAdapter.getView 获取 Nullpointer,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111479/
当在类的开头使用上下文和资源初始化 MediaPlayer 对象时,它会抛出 NullPointer 异常,但是当在类的开头声明它时(因此它是 null),然后以相同的方式初始化它在onCreate方
在这个问题中NullPointer when call entity Manager建议将 @Autowire DAO 添加到 Controller 中。我做到了并且工作正常。然后我在 DaoImpl
我被分配了一个项目,我必须在java中创建一个登录系统,使用filein将帐户写入数组,并通过确认输入用户名与中的用户名相同来使用该数组进行登录数组。我的用户名和密码位于正在读取的 .txt 文件中的
我得到了以下代码: - (void) hide_waiting_activity { [UIView beginAnimations:nil context:NULL]; {
在为学校开发一个程序时,我创建了一个方法,该方法根据您为该方法提供的值返回数组的索引。该方法抛出 NullPointerException 但数组的每个索引都已被实例化。为了说明这一点,我创建了一个执
在我的 JSP 页面上,我需要显示一个列表,其中包含/public 文件夹中当前存在的所有文件。 这是一个带有 spring 和 hibernate 的 j2ee 项目。在我的用于获取包含所有文件的列
当我更新大量 JavaFX 图表时,我收到以下 NullpointerException: java.lang.NullPointerException at com.sun.scenario
我是 android 编程的新手,但不是 Java。 我在以下位置收到有关 NPE 的错误消息: 12-09 10:29:58.247: D/dalvikvm(471): GC freed 711 o
我有两个 java 类。 Schedule 是使用名为 deadline 的作业数组的主要类。我在将任何东西放入数组时遇到问题。我有一个 for 循环,它从文本文件中读取数据(它工作正常)并将某些数据
我正在尝试从我的项目目录访问一个文件,我们称它为 src/main/project/foo/bar.txt 在类MyClass 但是当我这样做的时候: InputStream is = MyClass
您好,在我的应用程序中实现搜索小部件时遇到问题。它似乎无法找到菜单项的“actionview”,但它可以很好地找到该项目。 我四处寻找答案,但没有看到明确的解决方案。 这是我用 XML 声明的菜单
我不确定为什么会收到此错误,它以前是有效的,我们将不胜感激。尝试在微调器选择时产生一个新 Activity (我有一个内部有 ListView 的工作版本,我决定分支尝试微调器,走了很远然后迷路了试图
我得到一个 NullPointerException在我第一次使用 createEntityManager() 连接到数据库时,在我的 tomcat 控制台上.我正在使用: apache tomcat
我目前正在处理一个项目,该项目使用 JFrame 在 GUI 上运行。 我想尽可能清楚我的问题是什么,我正在使用 3 个包(实体、控制(管理器)、边界(GUI))。 边界进口控制,控制进口实体。 在
我正在将S3的 Parquet 文件加载到在EMR机器中运行的Hive数据仓库中: Release: emr-5.1.0Hadoop distribution: Amazon 2.7.3Applica
我有一个如下所示的方法: try { doStuff(); } catch (Exception ex) { logger.error(ex); } (我并没有真正使用像 doStuff 这样
谁能告诉我这段代码有什么问题 我得到空指针异常,我假设是因为多个请求 @Service public class GernericMockingServiceImpl implements Gener
首先感谢您指出我在创建这篇文章时所犯的错误。 我尽可能缩小了代码范围,希望现在更清楚了。 因此,发生的问题是 NullPointer Exception 例如,当我尝试从一个场景(根)切换到另一个场景
我已经遇到这个非常烦人的问题几天了,而且我似乎无法完全解决它。我正在尝试打开 .csv 文件,因此我将其导入到项目的 res/raw/ 文件夹中。然后我尝试通过 getResources() 方法打开
我想做一个简单的java应用程序来播放视频。我特别希望它能够播放 mpeg4 和 mov 格式。 JMF 是我开始的地方,我有一个很好的工作示例。但是,不支持 mov 或 mpeg4 格式。我看过 X
我是一名优秀的程序员,十分优秀!