我正在构建一个Android应用程序,我希望我的第一个活动由2个选项卡组成,一个用于用户的配置文件,另一个用于朋友的活动.对于这些标签,我选择了TabHost,因为我的Sherlock Action Bar已经使用列表导航移动到其他活动,因此我无法使用操作栏中的标签导航.
该应用程序工作了一段时间,但现在只有我的一个选项卡工作,一旦我尝试移动到第二个选项卡,我得到一个java.lang.IllegalStateException:没有活动
我为这个错误添加了Logcat输出,虽然我不确定它是否有帮助,因为我的代码没有回溯.
我尝试用FragmentTabHost替换TabHost,但错误仍然存在......
任何人都可以向我指出这个错误的起源/含义吗?提前致谢 !
LOGCAT:
04-03 08:19:39.380: W/dalvikvm(958): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
04-03 08:19:39.400: E/AndroidRuntime(958): FATAL EXCEPTION: main
04-03 08:19:39.400: E/AndroidRuntime(958): java.lang.IllegalStateException: No activity
04-03 08:19:39.400: E/AndroidRuntime(958): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1075)
04-03 08:19:39.400: E/AndroidRuntime(958): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1070)
04-03 08:19:39.400: E/AndroidRuntime(958): at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1861)
04-03 08:19:39.400: E/AndroidRuntime(958): at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1474)
04-03 08:19:39.400: E/AndroidRuntime(958): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:931)
04-03 08:19:39.400: E/AndroidRuntime(958): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
04-03 08:19:39.400: E/AndroidRuntime(958): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
04-03 08:19:39.400: E/AndroidRuntime(958): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
04-03 08:19:39.400: E/AndroidRuntime(958): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
04-03 08:19:39.400: E/AndroidRuntime(958): at …Run Code Online (Sandbox Code Playgroud) 根据我在网上阅读的内容,即时通讯仍然不清楚,但这是一个示例:
@Module
public abstract class HomeModule {
@Binds
public abstract HomePresenter bindHomePresenter(HomePresenterImp
homePresenterImp);
}
Run Code Online (Sandbox Code Playgroud)
并且类定义如下所示:
public interface HomePresenter {
Observable<List<User>> loadUsers();
}
public class HomePresenterImp implements HomePresenter {
public HomePresenterImp(){
}
@Override
public Observable<List<User>> loadUsers(){
//Return user list observable
}
}
Run Code Online (Sandbox Code Playgroud)
如果我只能使用提供注释,为什么还要使用@Binds,如下所示:
@Provides
public HomePresenter provideHomePresenter() {
return new HomePresenterImp();
}
Run Code Online (Sandbox Code Playgroud)
@Binds而不是@Provides的用例是什么?如果我使用@Binds,我是否仍需要在我的appcomponent中声明它(当我使用@Binds时,它是一个抽象类)?
iOS上返回的"准确性"或"不确定性"的统计意图是什么,即使是近似值?
例如,Android文档将其返回的准确度数字解释为在这个意义上大约是一个标准偏差:
我们将准确度定义为68%置信度的半径.换句话说,如果您绘制一个以该位置的纬度和经度为中心的圆,并且半径等于精度,那么真实位置在圆内的概率为68%.在统计学术语中,假设位置误差是随机的,具有正态分布,因此68%置信圆表示一个标准偏差.请注意,在实践中,位置错误并不总是遵循这样简单的分布.该精度估计仅涉及水平精度,并且如果包含在该位置中,则不表示方位,速度或高度的准确性.
我们的设置是,我们需要以与Android相同的方式处理来自iOS的返回"准确度"或"不确定性"的值,以使我们能够构建具有有效功能的应用程序.iOS的准确度结果是否需要进行任何转换以获得与上述相同的解释?具体而言,在具有相同GPS /位置硬件的两个设备的假设情况下,在相同的物理位置,在同一时刻查询到具有相同参数的GPS地理定位,Android之间最典型的关系是什么返回值(径向1个标准差不确定性)和iOS值?
我有一个自定义网格视图的代码,每次我尝试运行它时,它都会因OutOfMemoryException. 我想解决方案是调整数组中的图像大小...
主要活动代码:
public class AndroidGridLayoutActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.grid_layout);
GridView gridView = (GridView) findViewById(R.id.grid_view);
// Instance of ImageAdapter Class
gridView.setAdapter(new ImageAdapter(this));
/**
* On Click event for Single Gridview Item
* */
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
// Sending image id to FullScreenActivity
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
// passing array index
i.putExtra("id", position);
startActivity(i);
}
});
} …Run Code Online (Sandbox Code Playgroud) 我试图使用 HashMapjava.util.Date作为键,但我遇到了这个奇怪的问题。在执行以下操作时,我打印的是 false。
Date testDate = new Date(timeInLongFormat);
HashMap<Date,Integer> datesAndInts;
datesAndInts.put(testDate, 0);
Iterator iterator = datesAndInts.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next().toString();
System.out.println("comparing " + testDate + "with " + key + " result is " + testDate.equals(key));
// this call to equals() returns false.
Integer testInt = datesList.get(key); // testInt is null, since the Date key cannot be found ...
}
Run Code Online (Sandbox Code Playgroud)
我原以为作为键插入的日期和由 keySet 返回的日期是相同的,但它们不是。这是正常行为吗?为什么 ?我应该只比较时间或其他东西来实现我自己的 Date 子类吗?
我是Android新手,我想创建一个Intent来查看谷歌网站.我的String声明如下:
static private final String URL = "http://www.google.com";
Run Code Online (Sandbox Code Playgroud)
和我的意图:
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setData(Uri.parse("geo:+URL"));
startActivity(browserIntent);
Run Code Online (Sandbox Code Playgroud)
此代码在Eclipse中没有显示错误,但我认为这可能是错误的.
我创建了一个ListView从数据库填充的.每行都有一个按钮来更新列表和数据库中的项目值.我想为项目中使用的按钮添加onClick事件ListView.如何为列表项的按钮分配OnClickListener?

addtooutlet.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:background="#ffffff">
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
addtooutlet_list_item.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:padding="5dip" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="46dp"
android:background="#ffffff"
android:padding="5dip"
android:weightSum="100" >
<TextView
android:id="@+id/item_bname"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="25"
android:padding="2dp"
android:text="Hello"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000"
android:textSize="12dip" />
<TextView
android:id="@+id/item_bid"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="25"
android:padding="2dp"
android:text="Hello"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000"
android:textSize="12dip" />
<Button
android:id="@+id/item_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/item_bname"
android:layout_marginRight="16dp"
android:layout_weight="50"
android:focusable="false"
android:focusableInTouchMode="false"
android:padding="2dp"
android:text="Join"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000"
android:textSize="12dip" />
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
AddTooutlet.java
public class AddToOutlet extends ListActivity …Run Code Online (Sandbox Code Playgroud) 我在rawquery中使用WHERE子句从SQLite数据库中检索数据,如下所示:
public Cursor Return_SMS(String contact_no)
{
SQLiteDatabase db=this.getReadableDatabase();
//String[] params=new String[]{contact_no};
Cursor c=db.rawQuery("SELECT * FROM "+ "SMS_TABLE_RCV"+" WHERE "+ "Phone_number " + " = " + contact_no,null);
return c;
}
Run Code Online (Sandbox Code Playgroud)
但是没有检索到数据.如何使用Phone_number获取的数据等于我从游标中的Activity传递为"contact_no"的值?