我已经通过密切关注搜索界面的官方教程实现了搜索界面(搜索小部件)。一切看起来都不错,但我无法提交搜索查询。当我单击键盘上的“发送”按钮时,什么也没有发生。
这是我所做的:
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.cheatdatabase.ItemListActivity"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.cheatdatabase.ItemDetailActivity"
android:label="@string/title_item_detail"
android:parentActivityName=".ItemListActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".ItemListActivity" />
</activity>
<activity
android:name="com.cheatdatabase.MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
<activity
android:name=".SearchResultsActivity"
android:label="@string/title_activity_search_result" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter> …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用NavigationDrawer并在单击抽屉中的项目时替换片段.我的问题是,当我更改片段时,ActionBar中的菜单项不会更新.
我已经按照本教程https://www.grokkingandroid.com/adding-action-items-from-within-fragments/密切关注,但它仍然无法在我的应用中运行.
在此处添加父活动和其中一个片段的一些代码片段.我需要的是当初始片段被ContactFormFragment.java替换时,显示联系表单片段(R.menu.contactform_send_menu)的其他菜单项.
public class MainActivity extends FragmentActivity implements ActionBar.OnNavigationListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle(R.string.app_name);
// Set up the action bar to show a dropdown list.
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
createNavigationDrawer(savedInstanceState);
}
private final int DRAWER_MAIN = 0;
private final int DRAWER_CONTACT = 5;
// update the main content by replacing fragments
private void selectItem(int position) {
Fragment fragment = null;
Bundle args = new Bundle();
boolean isFragment = …Run Code Online (Sandbox Code Playgroud) android android-menu android-fragments android-actionbar navigation-drawer
自从我开发Android应用程序一段时间后,我觉得有点愚蠢.我的问题是我不能让ApiDemos与Eclipse一起工作.请查看我在Eclipse中遇到的错误的屏幕截图:http: //cheat-database.com/android.png
看起来它无法在ApiDemos项目中找到xml文件.虽然一切看起来都不错.有什么建议我可能做错了吗?
其他(自己的)Android应用程序在Eclipse中运行良好.非常感谢您的帮助.
我在使用IKVM(版本:7.0.4335.0)从JAR文件创建DLL文件时遇到问题.
如果我用命令打开它,可以运行JAR本身:
ikvm -jar MyTest1.jar
Run Code Online (Sandbox Code Playgroud)
我可以在控制台中看到System.out.print("test")输出.
但是,使用以下命令将其转换为DLL:
ikvm MyTest1.jar
Run Code Online (Sandbox Code Playgroud)
给我错误:
C:\Users\de\Desktop>ikvm MyTest1.jar
Exception in thread "main" java.lang.ClassNotFoundException: MyTest1.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(AccessController.java:279
)
at java.security.AccessController.doPrivileged(AccessController.java:520
)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:450)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:385)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:503)
at IKVM.Internal.ClassLoaderWrapper.LoadClassImpl(Unknown Source)
at IKVM.Internal.ClassLoaderWrapper.LoadClassByDottedNameFastImpl(Unknow
n Source)
at IKVM.Internal.ClassLoaderWrapper.LoadClassByDottedName(Unknown Source
)
at IKVM.NativeCode.java.lang.Class.forName0(Unknown Source)
at java.lang.Class.forName(Class.java:361)
Run Code Online (Sandbox Code Playgroud)
根据文档IKVM Doc我必须这样做:
如果ikvm报告ClassNotFoundException,请检查是否已设置CLASSPATH环境变量.如果是这样,请尝试清除CLASSPATH或将当前目录添加到其中,以便ikvm可以在当前目录中找到该类.
但是(系统环境)classpath变量设置正确.(CLASSPATH =.;/JAVA_HOME = C:\ Program Files\Java\jdk1.6.0_21/Path =%JAVA_HOME%\ bin;)
更新:我可以在这里使用这篇文章构建DLL文件.无论如何,上面的问题仍然存在,我想知道我需要做些什么来解决这个问题.
感谢帮助.
我有一个FragmentActivity和FragmentPagerAdapter,它包含许多Fragment对象,我可以通过水平滑动来滑动它们.
我想知道我是否可以从Fragment对象中访问FragmentActivity中的元素("elementToBeChanged")?我想将Fragment类中的String传递给FragmentActivity对象中的TextView元素.
public class GalleryPagerActivity extends FragmentActivity implements OnClickListener {
private TextView elementToBeChanged;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.gallery_pager);
elementToBeChanged = (TextView) findViewById(R.id.tvTop);
elementToBeChanged.setOnClickListener(this);
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么会这样做?每当Fragment对象进入视线(使用滑动)时,都必须更新TextView元素.
它应该看起来像这样:
public class GalleryFragment extends Fragment {
private FragmentActivity fa;
private LinearLayout ll;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
fa = super.getActivity();
ll = (LinearLayout) inflater.inflate(R.layout.gallery_fragment, container, false);
...
// ////////
// UPDATE THE "TextView elementToBeChanged" object in the parent FragmentActivity class HERE WHENEVER THIS FRAGMENTS BECOMES …Run Code Online (Sandbox Code Playgroud)