Android onItemClick->Toast书签id
正在尝试找出用户单击的书签id是什么。。。 尝试了一切,许多力量关闭。。。现在,eclipse中的空toast没有错误标记:Android onItemClick->Toast书签id,android,Android,正在尝试找出用户单击的书签id是什么。。。 尝试了一切,许多力量关闭。。。现在,eclipse中的空toast没有错误标记: public class Dmarks extends ListActivity { protected Context context; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
public class Dmarks extends ListActivity {
protected Context context;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TextView selection;
String[] projection = new String[] {
Browser.BookmarkColumns._ID,
Browser.BookmarkColumns.FAVICON,
Browser.BookmarkColumns.TITLE,
Browser.BookmarkColumns.URL
};
String[] displayFields = new String[] {
Browser.BookmarkColumns.TITLE,
Browser.BookmarkColumns.FAVICON,
Browser.BookmarkColumns.URL
};
final int[] displayViews = new int[] {
android.R.id.text1,
android.R.id.text2
};
Cursor cur = managedQuery(android.provider.Browser.BOOKMARKS_URI, projection, android.provider.Browser.BookmarkColumns.BOOKMARK, null, null);
setListAdapter(new ImageCursorAdapter(this, android.R.layout.simple_list_item_2, cur, displayFields, displayViews));
selection = (TextView)findViewById(R.id.btitle);
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
Context context = getApplicationContext();
TextView text = selection;
int duration = Toast.LENGTH_SHORT;
Toast.makeText(context, (CharSequence) text, duration).show();
}
});
}
ImageCursorAdapter是另一个显示书签favicon及其工作标题的类
我真的很想知道我做错了什么
谢谢 您正在将文本视图强制转换为字符序列?那没有任何意义。text.getText怎么样
您还应该学会在应用程序强制关闭时使用logcat或EclipseDDMS获取堆栈跟踪或其他信息。在eclipse中,打开logcat窗口。或者,在命令行上运行adb logcat。我猜您的意思是text.getText而不是CharSequencetext-尝试了这个方法并强制关闭:\Opened logcat,它说我在第60行有一个错误,这是text.getText行…您能打印出准确的错误消息吗?将TextView强制转换为CharSequence肯定是错误的。我的第一个猜测是文本为null.D/AndroidRuntime 3568:关闭VM W/dalvikvm 3568:threadid=1:线程带未捕获异常组退出=0x4 001d7e8 E/AndroidRuntime 3568:致命异常:main E/AndroidRuntime 3568:java.lang.NullPointerException E/AndroidRuntime 3568:at com.droidl.droidmarks.Dmarks$1.onItemClickmarks.java:60 E/AndroidRuntime 3568:at android.widget.AdapterView.performItemClickA dapterView.java:284 E/AndroidRuntime 3568:at android.widget.ListView.performItemClickList View.java:3382太长:\E/AndroidRuntime 3568:at java.lang.reflect.Method.Invokenative方法E/AndroidRuntime 3568:atjava:521e/AndroidRuntime 3568:com.android.internal.os.ZygoteInit$MethodAndA rgsCaller.runZygoteInit.java:868e/AndroidRuntime 3568:com.android.internal.os.ZygoteInit.mainygot eInit.java:626e/AndroidRuntime 3568:dalvik.system.NativeStart.main本地方法W/ActivityManager131:Force finishing activity com.droidl.droidmarks/.Dma rksjava.lang.NullPointerException:这意味着您正试图访问空对象,在本例中,文本为空。我认为您实际上想要做的是从onItemClicked中的view参数定位您关心的TexView。