我试图以完全相同的方式修改两个TextView.我以为我可以给它们相同的id,并且使用findViewById()和setText()方法将这些TextViews改为两行.但似乎只有一个TextView被更改.
有没有办法做到这一点?或者我必须为每个元素创建不同的id,通过findViewById()方法获取每个元素并设置它的文本?
我对堆栈跟踪的解释有一个问题.问题是我的包中没有类,所以我很难找出发生的事情.当我吞下踪迹时,我认为这是关于适配器和微调器,但在那个页面上我有6个微调器,我调试它们并没有发现任何奇怪的东西(比如selectedItemPosition或者什么)..
也许有人有类似的问题?这是追踪.如果您需要一些代码,请告诉我
Uncaught handler: thread main exiting due to uncaught exception
java.lang.IndexOutOfBoundsException
at java.util.Arrays$ArrayList.get(Arrays.java:72)
at android.widget.ArrayAdapter.getItem(ArrayAdapter.java:298)
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:351)
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:198)
at android.view.View.measure(View.java:7987)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:888)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:350)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)
at android.view.View.measure(View.java:7987)
at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:893)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
at android.widget.ScrollView.onMeasure(ScrollView.java:276)
at android.view.View.measure(View.java:7987)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:888)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:350)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)
at android.view.View.measure(View.java:7987)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
at android.view.View.measure(View.java:7987)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
at android.view.View.measure(View.java:7987)
at android.view.ViewRoot.performTraversals(ViewRoot.java:763)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at …Run Code Online (Sandbox Code Playgroud) 我正在创建具有三个视图的ViewPager.在第一个视图是ListView,其中onItemClick用其中的WebView替换该片段的新片段.我有两个问题:添加'transaction.addToBackStack(null)'或'transaction.setCustomAnimations(...)'片段与WebView停止显示.没有这些线显示,但我不能按BACK按钮返回列表.
我正在基于该教程和这个问题创建代码.在那个问题中,使用了PagerAdapter,我正在使用FragmentPagerAdapter.此外,我不需要更换更多碎片.它只能是一次(从列表到webView和返回).
这是我的适配器代码:
public Fragment getItem( int position )
{
Fragment fragment = null;
switch ( position )
{
case 0: // news
if ( mFragmentAtPos0 == null )
{
mFragmentAtPos0 = new NewsListFragment( new FirstPageFragmentListener()
{
@Override
public void onSwitchToNewsFragment( String url, ViewGroup container )
{
FragmentTransaction transaction = fm.beginTransaction();
transaction.setCustomAnimations( R.anim.rotate_in, R.anim.rotate_out, R.anim.rotate_in, R.anim.rotate_out );
WebViewFragment wv = new WebViewFragment( url, context );
transaction.replace( container.getId(), wv );
transaction.commit();
mFragmentAtPos0 = wv;
notifyDataSetChanged();
}
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的Android应用中使用Facebook SDK.这是片段:
Facebook myFacebook = new Facebook("123456789012345");
myFacebook.authorize(LogInScreen.this,
new String[] {
"publish_stream",
"email",
"user_about_me",
"user_birthday",
"user_website",
"friends_photos",
"user_photos"},
Facebook.FORCE_DIALOG_AUTH,
new DialogListener(){
@Override
public void onCancel() {
Log.i("Facebook", "Facebook - cancel");
}
@Override
public void onComplete(Bundle arg0) {
Log.i("Facebook", "Facebook - complete, AccessToken: " + myFacebook.getAccessToken());
}
@Override
public void onError(DialogError arg0) {
Log.i("Facebook", "Facebook - error");
}
@Override
public void onFacebookError(FacebookError error) {
Log.i("Facebook", "Facebook - facebookError: " + error);
try {
myFacebook.logout(LogInScreen.this);
} catch (MalformedURLException e) {
e.printStackTrace();
} …Run Code Online (Sandbox Code Playgroud) 布局有点问题.我已经创建了RelativeLayout,其中我放置了两个LinearLayouts(1和2),并在它们之间使用LinearLayout ScrollView.接下来,我将ScrollView设置为在linearLayout2和linearLayout1之上.但ScrollView中的LinearLayout未设置为其父级.
这是代码,也许我犯了一个错误:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="6dip"
android:layout_alignParentTop="true"
android:id="@+id/lin1"
android:layout_weight="1">
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_alignParentBottom="true"
android:layout_weight="1" android:id="@+id/lin3"
android:layout_height="60dip">
</LinearLayout>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="horizontal"
android:layout_below="@id/lin1"
android:layout_above="@id/lin3" android:id="@+id/ScrollView">
<LinearLayout
android:layout_width="fill_parent"
android:orientation="vertical"
android:id="@+id/lin2"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical|center_horizontal">
<Button android:text="@string/button1"
android:id="@+id/button1"
android:layout_gravity="center"
android:layout_width="280dip"
android:layout_height="60dip">
</Button>
<Button android:text="@string/button2"
android:id="@+id/button2"
android:layout_gravity="center"
android:layout_width="280dip"
android:layout_height="60dip">
</Button>
<Button android:text="@string/button3"
android:id="@+id/button3"
android:layout_gravity="center"
android:layout_width="280dip"
android:layout_height="60dip">
</Button>
<Button android:text="@string/button4"
android:id="@+id/button4"
android:layout_gravity="center"
android:layout_width="280dip"
android:layout_height="60dip">
</Button>
</LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
任何想法,为什么ScrollView中的LinearLayout比ScrollView更大?
编辑:到目前为止,我已经注意到当我设置layout_gravity ="center_vertical"时,ScrollView内部的LinearLayout移动到外面.看起来设置中心是指主要布局(RelativeLayout).