所以我尝试了所有其他帖子并且它不起作用,有人能告诉我为什么按钮会进入列表视图吗?
我的布局代码是:
<FrameLayout xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#5eff6c"
tools:context=".FriendActivity">
<ListView
android:layout_width="wrap_content"
android:layout_height="50dp"
android:id="@+id/listView"
android:layout_gravity="center_horizontal|top"
android:background="#5eff6c" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/name"
android:layout_gravity="center_vertical"
android:textSize="16dp"
android:textIsSelectable="false" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:layout_gravity="center" />
</FrameLayout>
现在看起来像这样:http://imgur.com/HOeQbXv,hDKOHug#0
我想要这个:http://imgur.com/HOeQbXv,hDKOHug#1
编辑: Java代码:
public class FriendActivity extends ListActivity {
private static final String TAG_NAME = "name";
protected void onCreate(Bundle savedInstanceState) {
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
ArrayList<HashMap<String, String>> names = null;
try {
String test = new sendData().execute().get();
JSONArray jArray = new JSONArray(test);
Log.d("NOOO", String.valueOf(test));
names = new ArrayList<HashMap<String, String>>();
JSONObject object;
for (int i = 0; i < jArray.length(); i++) {
object = jArray.getJSONObject(i);
Log.d("YES", String.valueOf(object));
String name = object.getString(TAG_NAME);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_NAME, name);
names.add(map);
}
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
ListAdapter adapter = new SimpleAdapter(this, names,
R.layout.activity_friend,
new String[]{TAG_NAME}, new int[]{
R.id.name});
setListAdapter(adapter);
// selecting single ListView item
ListView lv = getListView();
// Launching new screen on Selecting Single ListItem
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
}
}
感谢您的帮助
答案 0 :(得分:1)
问题是您将此布局传递到ListView
的每个布局:
ListAdapter adapter = new SimpleAdapter(this, names,
R.layout.activity_friend,
new String[]{TAG_NAME}, new int[]{
R.id.name});
您想要做的是以这种方式设置该布局:
setContentView(R.layout.activity_friend);
这样,它将被设置为活动,您的活动将看起来像您在xml中所做的那样。
同时制作另一个简单的布局,其中包含一个TextView
并将其传递给您的适配器,这样您的ListView
也会有一个文本。或者你可以在android:android.R.layout.simple_list_item_1
中使用这个布局。
对于按钮重力,我认为你应该使用:
android:layout_gravity="center_horizontal|bottom"
不要忘记从上面发布的布局中删除textview,因为你不再需要它了..