簡體   English   中英

Android - 在ListView上方添加Linearlayout

[英]Android - Add Linearlayout above ListView

我想在ListView,上面添加一個LinearLayout ListView,這樣當你滾動屏幕時,它會滾動整個布局。 在我的LinearLayout ,我有一個AChartEngine GraphicalView ,我想在ListView上面。 我添加了一個ScrollView ,里面有一個SpinnerLinearLayout ListView ,但是當我運行應用程序時,只顯示了ListViewSpinner LinearLayout未顯示在屏幕上。

這是我的xml文件。 謝謝。

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView  xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<Spinner
    android:id="@+id/spending_report_cycle_spinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

  <LinearLayout
    android:id="@+id/spending_report_graph"
    android:layout_width="wrap_content"
    android:layou`enter code here`t_height="wrap_content"
    android:orientation="vertical"
    android:layout_gravity="center_horizontal" />

<ListView
    android:id="@+id/spending_report_listview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
</ListView>

當我調用返回圖形的方法時,我會得到一個View,我需要將其添加到Layout中。 我知道這樣做的唯一方法是將它添加到LinearLayout。

    graphLayout = (LinearLayout)view.getViewById(R.id.spending_report_graph);
    graph = PieGraph.getNewInstance(getActivity(), items, items.size());
    graphLayout.addView(graph);

這是你要實現的嗎?

測試圖像http://imageshack.com/a/img43/3327/f091.png

如果是,那么描述就像是,Item1是微調器,底部的Item 2是ListView,中間的黑線是View,extire布局是線性布局,它有一個子節點(Scroll View),只有滾動視圖的一個直接子項是線性布局。

這是它的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:orientation="vertical" >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <Spinner
                android:id="@+id/spending_report_cycle_spinner"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <View
                android:id="@+id/spending_report_graph"
                android:layout_width="wrap_content"
                android:layout_height="3dp"
                android:layout_gravity="center_horizontal"
                android:background="#000000"
                android:orientation="vertical" />

            <ListView
                android:id="@+id/spending_report_listview"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >
            </ListView>
        </LinearLayout>
    </ScrollView>

</LinearLayout>

這是編輯后的答案:

測試圖像http://imageshack.com/a/img809/7741/ti70.png

這是我使用片段只是為了確認一切正常,是的,一切都很完美。

如你所見,我正在使用的片段,微調器位於頂部,列表視圖位於底部,執行代碼后,視圖如下所示:

測試圖像2 http://imageshack.com/a/img713/685/qpbi.png

這里,兩條綠線內的視圖是片段。 這是一切的代碼:

第一個:yourmainlayout.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:orientation="vertical" >

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <Spinner
                android:id="@+id/spending_report_cycle_spinner"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <View
                android:id="@+id/SomeView2"
                android:layout_width="wrap_content"
                android:layout_height="5dp"
                android:layout_gravity="center_horizontal"
                android:background="#008080"
                android:orientation="vertical" />

            <fragment
                android:id="@+id/fragment_content_1"
                android:name="com.mike.passintents.Fragment1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <View
                android:id="@+id/SomeView2"
                android:layout_width="wrap_content"
                android:layout_height="5dp"
                android:layout_gravity="center_horizontal"
                android:background="#008080"
                android:orientation="vertical" />

            <ListView
                android:id="@+id/spending_report_listview"
                android:layout_width="fill_parent"
                android:layout_height="300dp"
                android:background="#333333" >
            </ListView>
        </LinearLayout>
    </ScrollView>

</LinearLayout>

第二:片段1

import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.mike.stackoverflowquestions.R;

public class Fragment1 extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        return inflater.inflate(R.layout.fragment_fragment_1, container, false);

    }

}

第三:主要活動

import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;

import com.mike.stackoverflowquestions.R;

public class ActivityA extends Activity {

    String somevalue1 = "Hello";
    String somevalue2 = "World";
    ListView mListView;
    String[] numbers_text = new String[] { "one", "two", "three", "four",
            "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve",
            "thirteen", "fourteen", "fifteen" };
    ArrayList<String> mArrayList;
    ArrayAdapter<String> mAdapter;
    ArrayAdapter<String> spinnerAdapter;
    Spinner spinner1;
    TextView tV;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.custom_view_stack);
        mArrayList = new ArrayList<String>();

        for (String s : numbers_text) {

            mArrayList.add(s);

        }
        spinner1 = (Spinner) findViewById(R.id.spending_report_cycle_spinner);
        tV = (TextView) findViewById(R.id.tv);
        mListView = (ListView) findViewById(R.id.spending_report_listview);
        mAdapter = new ArrayAdapter<String>(getApplicationContext(),
                android.R.layout.simple_list_item_1, mArrayList);
        mListView.setAdapter(mAdapter);
        spinnerAdapter = new ArrayAdapter<String>(this, R.layout.spinner_item,
                mArrayList);
        spinner1.setAdapter(spinnerAdapter);

    }

    public void selectFragment(View view) {

        Fragment fr;

        if (view == findViewById(R.id.btnSayHi)) {

            fr = new Fragment1();

        } else {

            fr = new Fragment1();

        }

        FragmentManager fm = getFragmentManager();
        FragmentTransaction mFragmentTransaction = fm.beginTransaction();
        mFragmentTransaction.replace(R.id.fragment_content_1, fr);
        mFragmentTransaction.commit();

    }

}

我做了編輯。 如果有效,請告訴我。 祝好運..:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM