相关疑难解决方法(0)

Android的换行小部件布局

我正在尝试创建一个向用户显示一些数据的活动.数据可以分为"单词",每个单词都是一个小部件,"单词"序列将形成数据("句子"?),包含单词的ViewGroup小部件.由于"句子"中所有"单词"所需的空间将超过显示器上的可用水平空间,我想像正常的文本一样包装这些"句子".

以下代码:

public class WrapTest extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout l = new LinearLayout(this);
        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.FILL_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT);
        LinearLayout.LayoutParams mlp = new LinearLayout.LayoutParams(
                new ViewGroup.MarginLayoutParams(
                        LinearLayout.LayoutParams.WRAP_CONTENT,
                        LinearLayout.LayoutParams.WRAP_CONTENT));
        mlp.setMargins(0, 0, 2, 0);

        for (int i = 0; i < 10; i++) {
            TextView t = new TextView(this);
            t.setText("Hello");
            t.setBackgroundColor(Color.RED);
            t.setSingleLine(true);
            l.addView(t, mlp);
        }

        setContentView(l, lp);
    }
}
Run Code Online (Sandbox Code Playgroud)

产生类似左图的东西,但我想要一个布局呈现相同的小部件,如右图所示.

非包装

包皮

是否有布局或布局和参数的组合,还是我必须为此实现自己的ViewGroup?

java layout user-interface android

95
推荐指数
6
解决办法
5万
查看次数

具有项目依赖关系的Eclipse/ADT下的Android Activity(解析XY失败)

我试图让一个游戏项目与平台无关,所以我把它分成三个项目,从低级别到顶级的android特定级别,如:引擎,游戏,安卓游戏.

错误中涉及的类/接口是:

  1. (低级)引擎项目定义了这个接口:

    com.myteam.engine.IGame
    
    Run Code Online (Sandbox Code Playgroud)
  2. (中级)平台独立游戏项目定义了这些类:

    com.myteam.myproject.Game
    com.myteam.myproject.MyProject (derived from com.myteam.myproject.Game)
    
    Run Code Online (Sandbox Code Playgroud)
  3. (顶级)android项目实现活动等:

    com.myteam.myproject.android.MyAndroidActivity (using com.myteam.myproject.MyProject)
    
    Run Code Online (Sandbox Code Playgroud)

所有编译良好并在Windows下完美运行(使用前两个在3级上的另一个Windows项目).

但是当使用ADT运行时,它会在Activity启动时在运行时失败.Android应用程序基本上只显示一个带有"NoClassDefFoundError com.myteam.myproject.MyProject"异常的调用堆栈.

在LogCat输出显示的加载/解析时,异常似乎是由它的超类(或超类'接口)引起的:

12-20 19:51:51.897: D/ddm-heap(218): Got feature list request
12-20 19:51:52.207: I/dalvikvm(218): Failed resolving Lcom/myteam/myproject/Game; interface 18 'Lcom/myteam/engine/IGame;'
12-20 19:51:52.217: W/dalvikvm(218): Link of class 'Lcom/myteam/myproject/Game;' failed
12-20 19:51:52.227: W/dalvikvm(218): Unable to resolve superclass of Lcom/myteam/myproject/MyProject; (52)
12-20 19:51:52.227: W/dalvikvm(218): Link of class 'Lcom/myteam/myproject/MyProject;' failed
12-20 19:51:52.227: E/dalvikvm(218): Could not find class 'com.myteam.myproject.MyProject', referenced from method com.myteam.myproject.android.MyAndroidActivity.onCreate
12-20 19:51:52.227: W/dalvikvm(218): VFY: unable to …
Run Code Online (Sandbox Code Playgroud)

eclipse android adt multiple-projects apk

11
推荐指数
2
解决办法
9654
查看次数

ADT r17的jar文件问题

自从最新的ADT更新到第17版以来,我似乎遇到了一个棘手的问题.

我做了一个简单的应用程序来说明我的问题,我不知道我做错了什么.我的应用程序的主要活动是继承自支持包中的FragmentActivity,并且某种程度上应用程序在启动时崩溃.

为了说明,我做了一个示例项目.

首先,这里是我的虚拟类DummyProjectActivity的代码,非常简单:

public class DummyProjectActivity extends FragmentActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,有清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="be.emich.labs"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".DummyProjectActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

.jar文件在项目中正确导入,我得到了这个堆栈跟踪:

E/AndroidRuntime(11509): FATAL EXCEPTION: main
E/AndroidRuntime(11509): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{be.emich.labs/be.emich.labs.DummyProjectActivity}: java.lang.ClassNotFoundException: be.emich.labs.DummyProjectActivity
E/AndroidRuntime(11509):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1879)
E/AndroidRuntime(11509):    at …
Run Code Online (Sandbox Code Playgroud)

android android-fragmentactivity

9
推荐指数
1
解决办法
3341
查看次数

Android:如何引用驻留在我的应用引用的库中的样式?

我有一个自定义视图,它位于我在我的应用程序中引用的库中.在库中,我声明了一个样式,视图使用了它.在我的应用程序中,我正在使用库中的自定义视图:

<nefarious.library.myappname.views.DragDropList
   xmlns:ddl="http://schemas.android.com/apk/res/nefarious.library.myappname"
android:id="@id/android:list"  
   android:layout_width="fill_parent" 
   android:layout_height="fill_parent"
   android:choiceMode="singleChoice"
   android:clickable="true" 
   android:longClickable="true"
   android:focusable="true"
   android:hapticFeedbackEnabled="true" 
   android:cacheColorHint="#00000000"
   ddl:normalHeight="@dimen/list_item_height"
   ddl:doubleHeight="@dimen/list_item_height_doubled"
   ddl:grabber="@id/grabber"
   ddl:grabberPadding="30dip"
   ddl:dragndropBackground="@color/moola_light" />
Run Code Online (Sandbox Code Playgroud)

Eclipse似乎在查找样式时遇到问题.Eclipse告诉我它找不到每个可设置属性的资源标识符.

如何让我的应用程序从库中查看样式?

我的问题正是这个问题:

指定Android项目依赖项(在Eclipse中)

这似乎没有得到回答.

android reference

4
推荐指数
1
解决办法
468
查看次数